summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/biblatex/doc/biblatex.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/biblatex/doc/biblatex.tex')
-rw-r--r--macros/latex/contrib/biblatex/doc/biblatex.tex474
1 files changed, 368 insertions, 106 deletions
diff --git a/macros/latex/contrib/biblatex/doc/biblatex.tex b/macros/latex/contrib/biblatex/doc/biblatex.tex
index 618c5ac60f..e3194961d0 100644
--- a/macros/latex/contrib/biblatex/doc/biblatex.tex
+++ b/macros/latex/contrib/biblatex/doc/biblatex.tex
@@ -7,6 +7,10 @@
\setmonofont{Courier New}
\setmainfont[Ligatures=TeX]{Linux Libertine O}
\setsansfont[Ligatures=TeX]{Linux Biolinum O}
+\newfontfamily\devanagarifont{Shobhika}[%
+ Script=Devanagari,
+ Renderer=Harfbuzz]
+\newcommand*{\textdevanagari}[1]{{\devanagarifont #1}}
\usepackage[american]{babel}
\usepackage[strict]{csquotes}
\usepackage{tabularx}
@@ -64,7 +68,7 @@
url={\biblatexhome},
author={Philip Kime, Moritz Wemheuer, Philipp Lehman},
email={},
- revision={3.16},
+ revision={3.17},
date={\today}}
\hypersetup{%
@@ -218,9 +222,11 @@ Baldur Kristinsson (Icelandic);
Enrico Gregorio, Andrea Marchitelli (Italian);
Rihards Skuja (Latvian);
Valdemaras Klumbys (Lithuanian);
+\textdevanagari{निरंजन} (Marathi);
Håkon Malmedal, Hans Fredrik Nordhaug (Norwegian);
Anastasia Kandulina, Yuriy Chernyshov (Polish);
José Carlos Santos (Portuguese);
+Patrick Danilevici (Romanian);
Oleg Domanov (Russian);
Andrej Radović (Serbian);
Martin Vrábel, Dávid Lupták (Slovak);
@@ -529,7 +535,7 @@ A multi"=volume \bibtype{collection}. For backwards compatibility, multi"=volume
A contribution to a collection which forms a self"=contained unit with a distinct author and title. The \bibfield{author} refers to the \bibfield{title}, the \bibfield{editor} to the \bibfield{booktitle}, \ie the title of the collection.
-\reqitem{author, title, booktitle, year/date}
+\reqitem{author, title, editor, booktitle, year/date}
\optitem{editor, editora, editorb, editorc, translator, annotator, commentator, introduction, foreword, afterword, subtitle, titleaddon, maintitle, mainsubtitle, maintitleaddon, booksubtitle, booktitleaddon, language, origlanguage, volume, part, edition, volumes, series, number, note, publisher, location, isbn, eid, chapter, pages, addendum, pubstate, doi, eprint, eprintclass, eprinttype, url, urldate}
\typeitem{suppcollection}
@@ -657,7 +663,7 @@ Custom types for special bibliography styles. The standard styles defined no bib
\subsubsection{Type Aliases}
\label{bib:typ:als}
-The entry types listed in this section are provided for backwards compatibility with traditional \bibtex styles. These aliases are resolved by the backend as the data is processed. Bibliography styles will see the entry type the alias points to, not the alias name. This <hard alias> is unlike the <soft alias> relation in the previous subsection. The relevant mappings for the \opt{bibtex} driver can be found in~\secref{apx:maps:bibtex}.
+The entry types listed in this section are provided for backwards compatibility with traditional \bibtex styles. These aliases are resolved by the backend as the data is processed. \biblatex and the styles will see only the entry type the alias points to (the target), not the alias name (the source). In particular \biblatex-side per-type operations like type-specific formatting and filtering only work for the target type, not the source type. This <hard alias> is unlike the <soft alias> relation in the previous subsection. The relevant mappings for the \opt{bibtex} driver can be found in~\secref{apx:maps:bibtex}.
\begin{typelist}
@@ -924,7 +930,9 @@ Similar to \bibfield{editortype} but referring to the \bibfield{editorc} field.
\fielditem{eid}{literal}
-The electronic identifier of an \bibtype{article} or chapter-like section of a larger work. This field may replace the \bibfield{pages} field for journals deviating from the classic pagination scheme of printed journals by only enumerating articles or papers and not pages.
+The electronic identifier of an \bibtype{article} or chapter-like section of a larger work often called <article number>, <paper number> or the like. This field may replace the \bibfield{pages} field for journals deviating from the classic pagination scheme of printed journals by only enumerating articles or papers and not pages.
+
+Not to be confused with \bibfield{number}, which for \bibtype{article}s subdivides the \bibfield{volume}.
\fielditem{entrysubtype}{literal}
@@ -1083,6 +1091,8 @@ The number of a journal or the volume\slash number of a book in a \bibfield{seri
Since \bibfield{number} is---maybe counterintuitively given its name---a literal field, sorting templates will not treat its contents as integers, but as literal strings, which means that «11» may sort between «1» and «2». If integer sorting is desired, the field can be declared an integer field in a custom data model (see \secref{aut:ctm:dm}). But then the sorting of non-integer values is not well defined.
+The <article number> or <paper number>, which can be used instead of---or along with---a page range to pinpoint a specific article within another work, goes into the \bibfield{eid} field.
+
\listitem{organization}{literal}
The organization(s) that published a \bibtype{manual} or an \bibtype{online} resource, or sponsored a conference. See also \secref{bib:use:and}.
@@ -1280,11 +1290,13 @@ Icelandic & Iceland & \opt{icelandic} \\
Italian & Italy & \opt{italian} \\
Latvian & Latvia & \opt{latvian} \\
Lithuanian & Lithuania & \opt{lithuanian} \\
+Marathi & India & \opt{marathi} \\
Norwegian (Bokmål) & Norway & \opt{norsk} \\
Norwegian (Nynorsk) & Norway & \opt{nynorsk} \\
Polish & Poland & \opt{polish} \\
Portuguese & Brazil & \opt{brazil} \\
& Portugal & \opt{portuguese}, \opt{portuges} \\
+Romanian & Romania & \opt{romanian} \\
Russian & Russia & \opt{russian} \\
Serbian (Latin) & Serbia & \opt{serbian} \\
Serbian (Cyrillic) & Serbia & \opt{serbianc} \\
@@ -1795,8 +1807,8 @@ The output of <circa>, uncertainty and era information in standard styles (or cu
1723\textasciitilde & circa 1723 & using \cmd{ifdatecirca} test\\
1723? & 1723? & using \cmd{ifdateuncertain} test\\
1723\% & circa 1723? & using \cmd{ifdateuncertain} and \cmd{ifdatecirca} tests\\
-2004-22 & 2004 & also, \bibfield{season} is set to the localisation string <summer>\\
-2004-24 & 2004 & also, \bibfield{season} is set to the localisation string <winter>\\
+2004-22 & 2004 & also, \bibfield{yeardivision} is set to the localisation string <summer>\\
+2004-24 & 2004 & also, \bibfield{yeardivision} is set to the localisation string <winter>\\
\bottomrule
\end{tabularx}
\end{table}
@@ -1814,7 +1826,9 @@ The \bibfield{month} field is an integer field. The bibliography style converts
\subsubsection{Journal Numbers and Issues}
\label{bib:use:issnum}
-The words <number> and <issue> are often used synonymously by journals to refer to the subdvision of a \bibfield{volume}. The fact that \biblatex's data model has fields of both names can sometimes lead to confusion about which field should be used. First and foremost the word that the journal uses for the subdivsion of a \bibfield{volume} should be of minor importance, what matters is the role in the data model. As a rule of thumb \bibfield{number} is the right field in most circumstances. In the standard styles \bibfield{number} modifies \bibfield{volume}, whereas \bibfield{issue} modifies the date (year) of the entry. Numeric identifiers and short designators that are not necessarily (entirely) numeric such as <A>, <S1>, <C2>, <Suppl.\ 3>, <4es> would go into the \bibfield{number} field, because they usually modify the \bibfield{volume}. The output of---especially longer---non-numeric input for \bibfield{number} should be checked since it could potentially look odd with some styles. The field \bibfield{issue} can be used for designations such as <Spring>, <Winter> or <Michaelmas term> if that is commonly used to refer to the journal.
+The terms <number>, <issue> and even <issue number> are often used synonymously by journals to refer to the subdvision of a \bibfield{volume}. The fact that \biblatex's data model has fields of both names can sometimes lead to confusion about which field should be used. First and foremost the word that the journal uses for the subdivsion of a \bibfield{volume} should be of minor importance, what matters is the role in the data model. As a rule of thumb \bibfield{number} is the right field in most circumstances. In the standard styles \bibfield{number} modifies \bibfield{volume}, whereas \bibfield{issue} modifies the date (year) of the entry. Numeric identifiers and short designators that are not necessarily (entirely) numeric such as <A>, <S1>, <C2>, <Suppl.\ 3>, <4es> would go into the \bibfield{number} field, because they usually modify the \bibfield{volume}. The output of---especially longer---non-numeric input for \bibfield{number} should be checked since it could potentially look odd with some styles. The field \bibfield{issue} can be used for designations such as <Spring>, <Winter> or <Michaelmas term> if that is commonly used to refer to the journal.
+
+The <article number> or <paper number>, which can be used instead of---or along with---a page range to pinpoint a specific article within another work, goes into the \bibfield{eid} field, whose placement in the standard styles is similar to the analogous \bibfield{pages} field.
\subsubsection{Pagination}
\label{bib:use:pag}
@@ -1885,7 +1899,7 @@ In addition to the \bibfield{crossref} field, \biblatex supports a simplified cr
\subsubsection{Sorting and Encoding Issues}
\label{bib:cav:enc}
-\biber handles Ascii, 8-bit encodings such as Latin\,1, and \utf. It features true Unicode support and is capable of reencoding the \file{bib} data on the fly in a robust way. For sorting, \biber uses a Perl implementation of the Unicode Collation Algorithm (\acr{UCA}), as outlined in Unicode Technical Standard \#10.\fnurl{https://unicode.org/reports/tr10/} Collation tailoring based on the Unicode Common Locale Data Repository (\acr{CLDR}) is also supported.\fnurl{http://cldr.unicode.org/}
+\biber handles \acr{US-ASCII}, 8-bit encodings such as Latin\,1, and \utf. It features true Unicode support and is capable of reencoding the \file{bib} data on the fly in a robust way. For sorting, \biber uses a Perl implementation of the Unicode Collation Algorithm (\acr{UCA}), as outlined in Unicode Technical Standard \#10.\fnurl{https://unicode.org/reports/tr10/} Collation tailoring based on the Unicode Common Locale Data Repository (\acr{CLDR}) is also supported.\fnurl{http://cldr.unicode.org/}
Supporting Unicode implies much more than handling \utf input. Unicode is a complex standard covering more than its most well-known parts, the Unicode character encoding and transport encodings such as \utf. It also standardizes aspects such as string collation, which is required for language-sensitive sorting. For example, by using the Unicode Collation Algorithm, \biber can handle the character <ß> without any manual intervention. All you need to do to get localised sorting is specify the locale:
@@ -1912,18 +1926,18 @@ encodings properly.
\paragraph{Specifying Encodings}
\label{bib:cav:enc:enc}
-When using a non-Ascii encoding in the \file{bib} file, it is important to understand what \biblatex can do for you and what may require manual intervention. The package takes care of the \latex side, \ie it ensures that the data imported from the \file{bbl} file is interpreted correctly, provided that the \opt{bibencoding} package option (or the datasource specific override for this, see \secref{use:bib:res}) is set properly. All of this is handled automatically and no further steps, apart from setting the \opt{bibencoding} option in certain cases, are required. Here are a few typical usage scenarios along with the relevant lines from the document preamble:
+When using a non-\acr{US-ASCII} encoding in the \file{bib} file, it is important to understand what \biblatex can do for you and what may require manual intervention. The package takes care of the \latex side, \ie it ensures that the data imported from the \file{bbl} file is interpreted correctly, provided that the \opt{bibencoding} package option (or the datasource specific override for this, see \secref{use:bib:res}) is set properly. All of this is handled automatically and no further steps, apart from setting the \opt{bibencoding} option in certain cases (namely when the encoding of the \file{bib} file differs from the encoding of the \file{tex} file), are required provided that you set up your document encoding (\ie load \sty{inputenc} or related packages if required) \emph{before} \biblatex is loaded. Here are a few typical usage scenarios along with the relevant lines from the document preamble:
\begin{itemize}
\setlength{\itemsep}{0pt}
-\item Ascii notation in both the \file{tex} and the \file{bib} file with \pdftex or traditional \tex:
+\item \acr{US-ASCII} notation in both the \file{tex} and the \file{bib} file with \pdftex or traditional \tex:
\begin{ltxexample}
\usepackage{biblatex}
\end{ltxexample}
-\item Latin\,1 encoding (\acr{ISO}-8859-1) in the \file{tex} file, Ascii notation in the \file{bib} file with \pdftex or traditional \tex :
+\item Latin\,1 encoding (\acr{ISO}-8859-1) in the \file{tex} file, \acr{US-ASCII} notation in the \file{bib} file with \pdftex or traditional \tex :
\begin{ltxexample}
\usepackage[latin1]{inputenc}
@@ -1959,7 +1973,7 @@ The same scenario with \latex release 2018-04-01 or above, \xetex or \luatex in
\end{itemize}
-\biber can handle Ascii notation, 8-bit encodings such as Latin\,1, and \utf. It is also capable of reencoding the \file{bib} data on the fly (replacing the limited macro-level reencoding feature of \biblatex). This will happen automatically if required, provided that you specify the encoding of the \file{bib} files properly. In addition to the scenarios discussed above, \biber can also handle the following cases:
+\biber can handle \acr{US-ASCII} notation, 8-bit encodings such as Latin\,1, and \utf. It is also capable of reencoding the \file{bib} data on the fly (replacing the limited macro-level reencoding feature of \biblatex). This will happen automatically if required, provided that you specify the encoding of the \file{bib} files properly. In addition to the scenarios discussed above, \biber can also handle the following cases:
\begin{itemize}
@@ -2003,11 +2017,11 @@ Some workarounds may be required when using traditional \tex or \pdftex with \ut
\usepackage[safeinputenc]{biblatex}
\end{ltxexample}
%
-If this option is enabled, \biblatex will ignore \sty{inputenc}'s \opt{utf8} option and use Ascii. \biber will then try to convert the \file{bib} data to Ascii notation. For example, it will convert \k{S} to |\k{S}|. This option is similar to setting \kvopt{texencoding}{ascii} but will only take effect in this specific scenario (\sty{inputenc}\slash \sty{inputenx} with \utf). This workaround takes advantage of the fact that both Unicode and the \utf transport encoding are backwards compatible with Ascii.
+If this option is enabled, \biblatex will ignore \sty{inputenc}'s \opt{utf8} option and use \acr{US-ASCII}. \biber will then try to convert the \file{bib} data to \acr{US-ASCII} notation. For example, it will convert \k{S} to |\k{S}|. This option is similar to setting \kvopt{texencoding}{ascii} but will only take effect in this specific scenario (\sty{inputenc}\slash \sty{inputenx} with \utf). This workaround takes advantage of the fact that both Unicode and the \utf transport encoding are backwards compatible with \acr{US-ASCII}.
\end{itemize}
-This solution may be acceptable as a workaround if the data in the \file{bib} file is mostly Ascii anyway, with only a few strings, such as some authors' names, causing problems. However, keep in mind that it will not magically make traditional \tex or \pdftex support Unicode. It may help if the occasional odd character is not supported by \sty{inputenc}, but may still be processed by \tex when using an accent command (\eg |\d{S}| instead of \d{S}). If you need full Unicode support, however, switch to \xetex or \luatex.
+This solution may be acceptable as a workaround if the data in the \file{bib} file is mostly \acr{US-ASCII} anyway, with only a few strings, such as some authors' names, causing problems. However, keep in mind that it will not magically make traditional \tex or \pdftex support Unicode. It may help if the occasional odd character is not supported by \sty{inputenc}, but may still be processed by \tex when using an accent command (\eg |\d{S}| instead of \d{S}). If you need full Unicode support, however, switch to \xetex or \luatex.
Typical errors when \sty{inputenc} cannot handle a certain UTF-8 character are:
@@ -2045,11 +2059,11 @@ Specifies the database backend. The following backends are supported:
\begin{valuelist}
-\item[biber] \biber, the default backend of \biblatex, supports Ascii, 8-bit encodings, \utf, on-the-fly reencoding, locale"=specific sorting, and many other features. Locale"=specific sorting, case"=sensitive sorting, and upper\slash lowercase precedence are controlled by the options \opt{sortlocale}, \opt{sortcase}, and \opt{sortupper}, respectively.
+\item[biber] \biber, the default backend of \biblatex, supports \acr{US-ASCII}, 8-bit encodings, \utf, on-the-fly reencoding, locale"=specific sorting, and many other features. Locale"=specific sorting, case"=sensitive sorting, and upper\slash lowercase precedence are controlled by the options \opt{sortlocale}, \opt{sortcase}, and \opt{sortupper}, respectively.
-\item[bibtex] Legacy \bibtex. Traditional \bibtex supports Ascii encoding only. Sorting is always case"=insensitive.
+\item[bibtex] Legacy \bibtex. Traditional \bibtex supports \acr{US-ASCII} encoding only. Sorting is always case"=insensitive.
-\item[bibtex8] \bin{bibtex8}, the 8-bit implementation of \bibtex, supports Ascii and 8-bit encodings such as Latin~1.
+\item[bibtex8] \bin{bibtex8}, the 8-bit implementation of \bibtex, supports \acr{US-ASCII} and 8-bit encodings such as Latin~1.
\end{valuelist}
@@ -2078,7 +2092,7 @@ Loads a citation module which provides \sty{mcite}\slash\sty{mciteplus}-like cit
\optitem[auto]{casechanger}{\opt{auto}, \opt{latex2e}, \opt{expl3}}
-This option selects the implementation of \biblatex's case changing functions, most prominently \cmd{MakeSentenceCase*}. \opt{expl3} selects the new implementation based on the \latex3 module \sty{l3text}. Note that the \sty{l3text} module assumes \utf input and that your \sty{expl3} version should be new enough (at least version 2020-04-06). \opt{latex2e} selects the original implementation, which has tricky brace protection behaviour and some shortcomings when dealing with non-ASCII characters. The default \opt{auto} selects the case changing code based on the available \sty{expl3} version and detected document encoding (\opt{expl3} is selected if \sty{expl3} is at least version 2020-04-06 and the document encoding is detected as \utf).
+This option selects the implementation of \biblatex's case changing functions, most prominently \cmd{MakeSentenceCase*}. \opt{expl3} selects the new implementation based on the \latex3 module \sty{l3text}. Note that the \sty{l3text} module assumes \utf input and that your \sty{expl3} version should be new enough (at least version 2020-04-06). \opt{latex2e} selects the original implementation, which has tricky brace protection behaviour and some shortcomings when dealing with non-\acr{US-ASCII} characters. The default \opt{auto} selects the case changing code based on the available \sty{expl3} version and detected document encoding (\opt{expl3} is selected if \sty{expl3} is at least version 2020-04-06 and the document encoding is detected as \utf).
\end{optionlist}
@@ -2092,7 +2106,7 @@ The following options may be used in the optional argument to \cmd{usepackage} a
\begin{optionlist}
-\optitem[nty]{sorting}{\opt{nty}, \opt{nyt}, \opt{nyvt}, \opt{anyt}, \opt{anyvt}, \opt{ynt}, \opt{ydnt}, \opt{none}, \opt{debug}, \prm{name}}
+\optitem[nty]{sorting}{\opt{nty}, \opt{nyt}, \opt{nyvt}, \opt{anyt}, \opt{anyvt}, \opt{ynt}, \opt{ydnt}, \opt{none}, \opt{count}, \opt{debug}, \prm{name}}
The sorting order of the bibliography. Unless stated otherwise, the entries are sorted in ascending order. The following choices are available by default:
@@ -2105,6 +2119,7 @@ The sorting order of the bibliography. Unless stated otherwise, the entries are
\item[ynt] Sort by year, name, title.
\item[ydnt] Sort by year (descending), name, title.
\item[none] Do not sort at all. All entries are processed in citation order.
+\item[count] Sort in descending order of number of times cited
\item[debug] Sort by entry key. This is intended for debugging only.
\item[\prm{name}] Use \prm{name}, as defined with \cmd{DeclareSortingTemplate} (\secref{aut:ctm:srt})
\end{valuelist}
@@ -2407,7 +2422,7 @@ Similar to the \opt{date} option but controls the format of the date field selec
Similar to the \opt{date} option but controls the format of the \bibfield{$<$datetype$>$date} field in the datamodel.
-\optitem{alldates}{\opt{year}, \opt{short}, \opt{long}, \opt{terse}, \opt{comp}, \opt{iso}}
+\optitem{alldates}{\opt{year}, \opt{short}, \opt{long}, \opt{terse}, \opt{comp}, \opt{ymd}, \opt{iso}}
Sets the option for all dates in the datamodel to the same value. The date fields in the default data model are \bibfield{date}, \bibfield{origdate}, \bibfield{eventdate} and \bibfield{urldate}.
@@ -2437,7 +2452,7 @@ This option controls whether seconds are printed when printing times.
\boolitem[true]{dateabbrev}
-This option controls whether \texttt{long} and \texttt{comp} dates are printed with long or abbreviated month/season names. The option is similar to the generic \opt{abbreviate} option but specific to the date formatting.
+This option controls whether \texttt{long} and \texttt{comp} dates are printed with long or abbreviated month/yeardivision names. The option is similar to the generic \opt{abbreviate} option but specific to the date formatting.
This option is also settable on a per-type and per-entry basis.
\boolitem[false]{datecirca}
@@ -2533,7 +2548,7 @@ Specifies the encoding of the \file{tex} file. This option affects the data tran
\begin{valuelist}
-\item[auto] Try to auto-detect the input encoding. If the \sty{inputenc}\slash \sty{inputenx}\slash \sty{luainputenc} package is available, \biblatex will get the main encoding from that package. If not, it assumes \utf encoding if a \latex format using at least the April 2018 version of the kernel, \xetex or \luatex has been detected, and Ascii otherwise.
+\item[auto] Try to auto-detect the input encoding. If the \sty{inputenc}\slash \sty{inputenx}\slash \sty{luainputenc} package is available, \biblatex will get the main encoding from that package. If not, it assumes \utf encoding if a \latex format using at least the April 2018 version of the kernel, \xetex or \luatex has been detected, and \acr{US-ASCII} otherwise.
\item[\prm{encoding}] Specifies the \prm{encoding} explicitly. This is for odd cases in which auto-detection fails or you want to force a certain encoding for some reason.
@@ -2557,7 +2572,7 @@ By default, \biblatex assumes that the \file{tex} file and the \file{bib} file u
\boolitem[false]{safeinputenc}
-If this option is enabled, \biblatex will automatically force \kvopt{texencoding}{ascii} if the \sty{inputenc}\slash \sty{inputenx} package has been loaded and the input encoding is \utf, \ie it will ignore any macro-based \utf support and use Ascii only. \biber will then try to convert any non-Ascii data in the \file{bib} file to Ascii. For example, it will convert \texttt{\d{S}} to |\d{S}|. See \secref{bib:cav:enc:enc} for an explanation of why you may want to enable this option.
+If this option is enabled, \biblatex will automatically force \kvopt{texencoding}{ascii} if the \sty{inputenc}\slash \sty{inputenx} package has been loaded and the input encoding is \utf, \ie it will ignore any macro-based \utf support and use \acr{US-ASCII} only. \biber will then try to convert any non-\acr{US-ASCII} data in the \file{bib} file to \acr{US-ASCII}. For example, it will convert \texttt{\d{S}} to |\d{S}|. See \secref{bib:cav:enc:enc} for an explanation of why you may want to enable this option.
\boolitem[true]{bibwarn}
@@ -2873,7 +2888,7 @@ Whether or not to provide the special field \bibfield{extratitleyear}, see \secr
\boolitem[false]{labeldateparts}
-Whether or not to provide the special fields \bibfield{labelyear}, \bibfield{labelmonth}, \bibfield{labelday}, \bibfield{labelendyear}, \bibfield{labelendmonth}, \bibfield{labelendday}, \bibfield{labelhour}, \bibfield{labelendhour}, \bibfield{labelminute}, \bibfield{labelendminute}, \bibfield{labelsecond}, \bibfield{labelendsecond}, \bibfield{labelseason}, \bibfield{labelendseason}, \bibfield{labeltimezone}, \bibfield{labelendtimeone} and \bibfield{extradate}, see \secref{aut:bbx:fld} for details.
+Whether or not to provide the special fields \bibfield{labelyear}, \bibfield{labelmonth}, \bibfield{labelday}, \bibfield{labelendyear}, \bibfield{labelendmonth}, \bibfield{labelendday}, \bibfield{labelhour}, \bibfield{labelendhour}, \bibfield{labelminute}, \bibfield{labelendminute}, \bibfield{labelsecond}, \bibfield{labelendsecond}, \bibfield{labelyeardivision}, \bibfield{labelendyeardivision}, \bibfield{labeltimezone}, \bibfield{labelendtimeone} and \bibfield{extradate}, see \secref{aut:bbx:fld} for details.
This option is also settable on a per-type and per-entry basis. Table \ref{use:opt:tab1} summarises the various \opt{extra*} disambiguation counters and what they track.
\begin{table}
@@ -3021,23 +3036,23 @@ This option is also settable on a per-type, per-entry and per-namelist basis.
\multicolumn{1}{@{}H}{Enabled counter} &
\multicolumn{1}{@{}H}{Counter tracks} \\
\cmidrule(r){1-1}\cmidrule(r){2-2}\cmidrule(r){3-3}\cmidrule{4-4}
-labelalpha & labelalpha & extraalpha & label\\
-labeldateparts & labelyear & extradate & labelname+\\
- & labelmonth & & labelyear\\
- & labelday & & \\
- & labelendyear & & \\
- & labelendmonth & & \\
- & labelendday & & \\
- & labelhour & & \\
- & labelminute & & \\
- & labelsecond & & \\
- & labelendhour & & \\
- & labelendminute & & \\
- & labelendsecond & & \\
- & labelseason & & \\
- & labelendseason & & \\
- & labeltimezone & & \\
- & labelendtimezone & & \\
+labelalpha & labelalpha & extraalpha & label\\
+labeldateparts & labelyear & extradate & labelname+\\
+ & labelmonth & & labelyear\\
+ & labelday & & \\
+ & labelendyear & & \\
+ & labelendmonth & & \\
+ & labelendday & & \\
+ & labelhour & & \\
+ & labelminute & & \\
+ & labelsecond & & \\
+ & labelendhour & & \\
+ & labelendminute & & \\
+ & labelendsecond & & \\
+ & labelyeardivision & & \\
+ & labelendyeardivision & & \\
+ & labeltimezone & & \\
+ & labelendtimezone & & \\
labeltitle & {\rmfamily ---} & extratitle & labelname+labeltitle\\
labeltitleyear & {\rmfamily ---} & extratitleyear & labeltitle+labelyear\\
{\rmfamily ---} & {\rmfamily ---} & extraname & labelname\\
@@ -3329,7 +3344,7 @@ example:
AUTHOR = {Hans Harman and Simon de Beumont}
AUTHOR = {given=Hans, family=Harman and given=Simon, prefix=de, family=Beumont}
\end{lstlisting}
-%
+%
These two name specifications are equivalent but the extended format
explicitly names the parts. The supported parts are those specified by the
\biblatex data mode constant \opt{nameparts}, see \secref{aut:bbx:drv}. As
@@ -3340,27 +3355,27 @@ but it is also possible to specify these explicitly:
AUTHOR = {given=Jean, prefix=de la, prefix-i=d, family=Rousse}
AUTHOR = {given={Jean Pierre Simon}, given-i=JPS}
\end{lstlisting}
-%
+%
Initials are specified by adding the suffix \verb+-i+ to the namepart name.
Compound parts may be protected with braces:
\begin{lstlisting}[style=bibtex]{}
AUTHOR = {given={Jean Pierre}}
\end{lstlisting}
-%
+%
If a namepart contains a comma, the whole namepart should be protected with
quotes:
\begin{lstlisting}[style=bibtex]{}
AUTHOR = {"family={Robert and Sons, Inc.}"}
\end{lstlisting}
-%
+%
Traditional \bibtex name formats and the extended form may be used together:
\begin{lstlisting}[style=bibtex]{}
AUTHOR = {Hans Harman and given=Simon, prefix=de, family=Beumont}
\end{lstlisting}
-%
+%
Per-namelist and per-name options may be specified in the extended name
format, see \secref{use:opt:bib:hyb}:
@@ -3368,7 +3383,7 @@ format, see \secref{use:opt:bib:hyb}:
AUTHOR = {nosortothers=true and Hans Harman and
given=Simon, family=Beumont, prefix=de, useprefix=true}
\end{lstlisting}
-
+
\subsection{Related Entries}
\label{use:rel}
@@ -4738,7 +4753,7 @@ The multicite version of \cmd{avolcite} and \cmd{Avolcite}, respectively.
\cmditem{notecite}[prenote][postnote]{key}
\cmditem{Notecite}[prenote][postnote]{key}
-These commands print the \prm{prenote} and \prm{postnote} arguments but no citation. Instead, a \cmd{nocite} command is issued for every \prm{key}. This may be useful for authors who incorporate implicit citations in their writing, only giving information not mentioned before in the running text, but who still want to take advantage of the automatic \prm{postnote} formatting and the implicit \cmd{nocite} function. This is a generic, style"=independent citation command. Special citation styles may provide smarter facilities for the same purpose. The capitalized version forces capitalization (note that this is only applicable if the note starts with a command which is sensitive to \biblatex's punctuation tracker).
+These commands print the \prm{prenote} and \prm{postnote} arguments but no citation. This may be useful for authors who incorporate implicit citations in their writing, only giving information not mentioned before in the running text, but who still want to take advantage of the automatic \prm{postnote} formatting and citation tracking. This is a generic, style"=independent citation command. Special citation styles may provide smarter facilities for the same purpose. The capitalized version forces capitalization (note that this is only applicable if the note starts with a command which is sensitive to \biblatex's punctuation tracker).
\cmditem{pnotecite}[prenote][postnote]{key}
\cmditem{Pnotecite}[prenote][postnote]{key}
@@ -5314,10 +5329,10 @@ The delimiters described in \secref{use:fmt:fmt} are globally defined. That is,
\begin{ltxsyntax}
-\cmditem{DeclareDelimFormat}[context, \dots]{name, \dots}{code}
-\cmditem*{DeclareDelimFormat}*[context, \dots]{name, \dots}{code}
+\cmditem{DeclareDelimFormat}[context, \dots]{name}{code}
+\cmditem*{DeclareDelimFormat}*[context, \dots]{name}{code}
-Declares the delimiter macros in the comma"=separated list \prm{names} with the replacement text \prm{code}. If the optional comma"=separated list of \prm{contexts} is given, declare the \prm{names} only for those contexts. \prm{names} defined without any \prm{contexts} behave just like the global delimiter definitions which \cmd{newcommand} gives---just a plain macro with a replacement which can be used as \cmd{name}. However, you can also call delimiter macros defined in this way by using \cmd{printdelim}, which is context-aware. The starred version clears all \prm{context} specific declarations for all \prm{names} first.
+Declares the delimiter macro \prm{name} with the replacement text \prm{code}. If the optional comma"=separated list of \prm{contexts} is given, declare \prm{name} only for those contexts. \prm{name} defined without any \prm{contexts} behaves just like the global delimiter definitions which \cmd{newcommand} gives---just a plain macro with a replacement which can be used as \cmd{name}. However, you can also call delimiter macros defined in this way by using \cmd{printdelim}, which is context-aware. The starred version clears all \prm{context} specific declarations for all \prm{names} first.
\cmditem{DeclareDelimAlias}[alias context, \dots]{alias}[delim context]{delim}
@@ -5376,6 +5391,10 @@ This (which is a default setting), makes sure that when inside the
\cmd{cbx@textcite} citation command, the context is in fact \opt{textcite}
as expected.
+\cmditem{UndeclareDelimcontextAlias}{alias}
+
+Removes the delimiter context alias declared for \prm{alias}.
+
\end{ltxsyntax}
%
\biblatex\ has several default contexts which are established automatically in various places:
@@ -5656,7 +5675,7 @@ Automatically converts the \prm{character} to its uppercase form if \biblatex's
\autocap{s}pecial issue
\end{ltxexample}
%
-will yield <Special issue> or <special issue>, as appropriate. If the string to be capitalized starts with an inflected character given in Ascii notation, include the accent command in the \prm{character} argument as follows:
+will yield <Special issue> or <special issue>, as appropriate. If the string to be capitalized starts with an inflected character given in \acr{US-ASCII} notation, include the accent command in the \prm{character} argument as follows:
\begin{ltxexample}
\autocap{\'e}dition sp\'eciale
@@ -5705,18 +5724,34 @@ The Greek localisation module requires \utf support. It will not work with any o
\subsubsection{Hungarian}
\label{use:loc:hun}
-The Hungarian localisation module needs to redefine certain field formats to obtain the grammatically correct word order. This means that these field formats are overwritten whenever the Hungarian localisation is active, no matter whether they were defined in the preamble or by a custom style. So please be aware that using the Hungarian localisation module may cause the bibliography output to deviate from the format dictated by the loaded style and preamble definitions. Changes to this behaviour need to be made using \cmd{DefineBibliographyExtras}. In particular \cmd{mkpageprefix} is redefined to output the <page> or <pages> string as a suffix after the page number following Hungarian conventions, and all formats of fields involving pages, chapters and volumes were modified so that numbers are printed as ordinals. The Hungarian localisation module will print a warning to remind you of these changes whenever it is loaded in a document. The warning tells you how to silence it.
+The Hungarian localisation module needs to redefine certain field formats to obtain the grammatically correct word order. This means that these field formats are overwritten whenever the Hungarian localisation is active, no matter whether they were defined in the preamble or by a custom style. So please be aware that using the Hungarian localisation module may cause the bibliography output to deviate from the format dictated by the loaded style and preamble definitions. Changes to this behaviour need to be made using \cmd{DefineBibliographyExtras}. In particular \cmd{mkpageprefix} is redefined to output the <page> or <pages> string as a suffix after the page number following Hungarian conventions, and all formats of fields involving pages, chapters and volumes were modified so that numbers are printed as ordinals.
\subsubsection{Latvian}
\label{use:loc:lav}
-The Latvian localisation module, like the Hungarian language module, needs to redefine certain field formats to obtain the grammatically correct word order. This means that these field formats are overwritten whenever the Latvian localisation is active, no matter whether they were defined in the preamble or by a custom style. So please be aware that using the Latvian localisation module may cause the bibliography output to deviate from the format dictated by the loaded style and preamble definitions. Changes to this behaviour need to be made using \cmd{DefineBibliographyExtras}. In particular \cmd{mkpageprefix} is redefined to output the <page> or <pages> string as a suffix after the page number following Latvian conventions, and all formats of fields involving pages, chapters and volumes were modified so that numbers are printed as ordinals. The Latvian localisation module will print a warning to remind you of these changes whenever it is loaded in a document. The warning tells you how to silence it.
+The Latvian localisation module, like the Hungarian language module, needs to redefine certain field formats to obtain the grammatically correct word order. This means that these field formats are overwritten whenever the Latvian localisation is active, no matter whether they were defined in the preamble or by a custom style. So please be aware that using the Latvian localisation module may cause the bibliography output to deviate from the format dictated by the loaded style and preamble definitions. Changes to this behaviour need to be made using \cmd{DefineBibliographyExtras}. In particular \cmd{mkpageprefix} is redefined to output the <page> or <pages> string as a suffix after the page number following Latvian conventions, and all formats of fields involving pages, chapters and volumes were modified so that numbers are printed as ordinals.
\subsubsection{Lithuanian}
\label{use:loc:lit}
The Lithuanian localisation module needs \utf support and will only work with this encoding.
+\subsubsection{Marathi}
+\label{use:loc:mar}
+
+The Marathi localisation module needs \utf support and will only work with this encoding, but users typesetting significant portions of Marathi will probably be using a Unicode engine anyway.
+
+Like the Hungarian language module, the Marathi localisation needs to redefine certain field formats and internal formatting macros to obtain acceptable output. This means that these field formats are overwritten whenever the Marathi localisation is active, no matter whether they were defined in the preamble or by a custom style. So please be aware that using the Marathi localisation module may cause the bibliography output to deviate from the format dictated by the loaded style and preamble definitions. Changes to this behaviour need to be made using \cmd{DefineBibliographyExtras}.
+
+There is some limited support for numeric operations with non-\acr{US-ASCII} Devanagari numerals. Due to the limitations of arithmetic operations to \acr{US-ASCII} numerals and backwards compatibility reasons additional work may be needed to support Devanagari numerals in places where they do not work at the moment.
+
+\subsubsection{Romanian}
+\label{use:loc:ron}
+
+The Romanian localisation module needs \utf support and will only work with this encoding.
+
+Like the Hungarian and Latvian localisation modules, the Romanian \file{lbx} file applies some changes to macros that are usually not affected by localisation. \cmd{newunitpunct} is set to produce a comma followed by a space. \cmd{intitlepunct} only produces a space.
+
\subsubsection{Russian}
\label{use:loc:rus}
@@ -6077,7 +6112,7 @@ More granular \bibtype{xdata} entry data may be referenced. It is not necessary
}
@Book{...,
author = {Alan Drudge and xdata=someauthors-author-2},
- editor = {xdata=someauthors-author},
+ editor = {xdata=someauthors-author and Ann Editor},
location = {xdata=somelocations-location-1 and Location3},
note = {xdata=somenotes-note}
}
@@ -6104,7 +6139,7 @@ There are \opt{--output-*} variants of the above options for \biber tool mode ou
\begin{lstlisting}[style=bibtex]{}
@Book{...,
author = {Alan Drudge and Brian Brown},
- editor = {John Smith},
+ editor = {John Smith and Brian Brown and Ann Editor},
location = {Location1 and Location3},
note = {A note}
}
@@ -6113,11 +6148,13 @@ There are \opt{--output-*} variants of the above options for \biber tool mode ou
Things to note with granular \bibtype{xdata} references:
\begin{itemize}
- \item References must be made only to \bibtype{xdata} fields. An warning will be generated otherwise and the reference will not be resolved
- \item References must be made only to \bibtype{xdata} fields of the same type (list/name and datatype) as the referencing field. An warning will be generated otherwise and the reference will not be resolved
+ \item References must be made only to \bibtype{xdata} fields. A warning will be generated otherwise and the reference will not be resolved
+ \item References must be made only to \bibtype{xdata} fields of the same type (list/name and datatype) as the referencing field. A warning will be generated otherwise and the reference will not be resolved
\item References to fields of datatype 'date' are not possible. References to legacy \bibfield{year} and \bibfield{month} fields are possible
\item References to missing entries, fields or list/name indices will generate a warning and the reference will not be resolved
- \item If an index is missing for a reference to a list/name field, 1 is assumed
+ \item If an index is missing for a reference to a list/name field, the
+ entire xdata name/list field will be spliced into the referencing field
+ at the desired position.
\end{itemize}
%
See also \secref{bib:typ:blx,bib:fld:spc}.
@@ -6431,7 +6468,7 @@ There are pathological cases where neither \texttt{defernumbers=true} nor \textt
\subsubsection{Active Characters in Bibliography Headings}
\label{use:cav:act}
-Packages using active characters, such as \sty{babel}, \sty{polyglossia}, \sty{csquotes}, or \sty{underscore}, usually do not make them active until the beginning of the document body to avoid interference with other packages. A typical example of such an active character is the Ascii quote |"|, which is used by various language modules of the \sty{babel}/\sty{polyglossia} packages. If shorthands such as |"<| and |"a| are used in the argument to \cmd{defbibheading} and the headings are defined in the document preamble, the non-active form of the characters is saved in the heading definition. When the heading is typeset, they do not function as a command but are simply printed literally. The most straightforward solution consists in moving \cmd{defbibheading} after |\begin{document}|. Alternatively, you may use \sty{babel}'s \cmd{shorthandon} and \cmd{shorthandoff} commands to temporarily make the shorthands active in the preamble. The above also applies to bibliography notes and the \cmd{defbibnote} command.
+Packages using active characters, such as \sty{babel}, \sty{polyglossia}, \sty{csquotes}, or \sty{underscore}, usually do not make them active until the beginning of the document body to avoid interference with other packages. A typical example of such an active character is the \acr{US-ASCII} quote |"|, which is used by various language modules of the \sty{babel}/\sty{polyglossia} packages. If shorthands such as |"<| and |"a| are used in the argument to \cmd{defbibheading} and the headings are defined in the document preamble, the non-active form of the characters is saved in the heading definition. When the heading is typeset, they do not function as a command but are simply printed literally. The most straightforward solution consists in moving \cmd{defbibheading} after |\begin{document}|. Alternatively, you may use \sty{babel}'s \cmd{shorthandon} and \cmd{shorthandoff} commands to temporarily make the shorthands active in the preamble. The above also applies to bibliography notes and the \cmd{defbibnote} command.
\subsubsection{Grouping in Reference Sections and Segments}
\label{use:cav:grp}
@@ -6466,7 +6503,7 @@ and a special data file (automatically included in those to be read by
Key limitations of the \bibtex backend are:
\begin{itemize}
-\item Sorting is global and is limited to Ascii ordering
+\item Sorting is global and is limited to \acr{US-ASCII} ordering
\item No re-encoding is possible and thus database entries must be in
LICR form to work reliably
\item The data model is fixed
@@ -6895,10 +6932,10 @@ but would additionally have the field \bibfield{dateunspecified} set to <yearinc
The entry key of an item in the \file{bib} file. This is the string used by \biblatex and the backend to identify an entry in the \file{bib} file.
Note that the set of characters allowed and usable in the string for \bibfield{entrykey} depends on the backend (\biber, \bibtex) as well as the \latex engine (\pdflatex, \lualatex, \xelatex).
-Generally, ASCII-letters (\texttt{a-z}, \texttt{A-Z}) and numbers (\texttt{0-9}) are safe, so are the punctuation characters full stop (\texttt{.}) and solidus (\texttt{/}). The punctuation characters \texttt{-\_:;!?} are also safe even if they are made active by \sty{babel}/\sty{polyglossia}. If a Unicode engine is used, non-ASCII characters are also acceptable.
+Generally, \acr{US-ASCII}-letters (\texttt{a-z}, \texttt{A-Z}) and numbers (\texttt{0-9}) are safe, so are the punctuation characters full stop (\texttt{.}) and solidus (\texttt{/}). The punctuation characters \texttt{-\_:;!?} are also safe even if they are made active by \sty{babel}/\sty{polyglossia}. If a Unicode engine is used, non-\acr{US-ASCII} characters are also acceptable.
Curly braces (\texttt{\{\}}), commas, spaces, backslashes (\texttt{\textbackslash}), hashes (\texttt{\#}), percent characters (\texttt{\%}) and tildes (\texttt{\textasciitilde}) are always forbidden. \biber additionally forbids round brackets (\texttt{()}), quotation marks (\texttt{\textquotedbl}, \texttt{\textquotesingle}), and the equals sign (\texttt{=}).
The \bibfield{entrykey} is case sensitive, but it is not recommended to exploit that fact too much by introducing two different entries whose key differs only in capitalisation (\eg\ \texttt{sigfridsson} and \texttt{Sigfridsson}).
-For full portability it is advisable to stick to a scheme of lowercase (and if so desired uppercase) ASCII-letters, numbers and a small set of acceptable punctuation characters, say \texttt{.:-}.
+For full portability it is advisable to stick to a scheme of lowercase (and if so desired uppercase) \acr{US-ASCII}-letters, numbers and a small set of acceptable punctuation characters, say \texttt{.:-}.
\fielditem{childentrykey}{string}
@@ -7137,11 +7174,11 @@ will tell you if the corresponding date is defined and an open"=ended range. Ope
date & 1988 & day & undefined \\
& & month & undefined \\
& & year & 1988 \\
- & & season & undefined \\
+ & & yeardivision & undefined \\
& & endday & undefined \\
& & endmonth & undefined \\
& & endyear & undefined \\
- & & endseason & undefined \\
+ & & endyeardivision & undefined \\
& & hour & undefined \\
& & minute & undefined \\
& & second & undefined \\
@@ -7153,11 +7190,11 @@ date & 1988 & day & undefined \\
date & 1997/ & day & undefined \\
& & month & undefined \\
& & year & 1997 \\
- & & season & undefined \\
+ & & yeardivision & undefined \\
& & endday & undefined \\
& & endmonth & undefined \\
& & endyear & empty \\
- & & endseason & undefined \\
+ & & endyeardivision & undefined \\
& & hour & undefined \\
& & minute & undefined \\
& & second & undefined \\
@@ -7169,11 +7206,11 @@ date & 1997/ & day & undefined \\
urldate & 2009-01-31 & urlday & 31 \\
& & urlmonth & 01 \\
& & urlyear & 2009 \\
- & & urlseason & undefined \\
+ & & urlyeardivision & undefined \\
& & urlendday & undefined \\
& & urlendmonth & undefined \\
& & urlendyear & undefined \\
- & & urlendseason & undefined \\
+ & & urlendyeardivision & undefined \\
& & urlhour & undefined \\
& & urlminute & undefined \\
& & urlsecond & undefined \\
@@ -7185,11 +7222,11 @@ urldate & 2009-01-31 & urlday & 31 \\
urldate & 2009-01-31T15:34:04Z & urlday & 31 \\
& & urlmonth & 01 \\
& & urlyear & 2009 \\
- & & urlseason & undefined \\
+ & & urlyeardivision & undefined \\
& & urlendday & undefined \\
& & urlendmonth & undefined \\
& & urlendyear & undefined \\
- & & urlendseason & undefined \\
+ & & urlendyeardivision & undefined \\
& & urlhour & 15 \\
& & urlminute & 34 \\
& & urlsecond & 04 \\
@@ -7201,11 +7238,11 @@ urldate & 2009-01-31T15:34:04Z & urlday & 31 \\
urldate & 2009-01-31T15:34:04+05:00 & urlday & 31 \\
& & urlmonth & 01 \\
& & urlyear & 2009 \\
- & & urlseason & undefined \\
+ & & urlyeardivision & undefined \\
& & urlendday & undefined \\
& & urlendmonth & undefined \\
& & urlendyear & undefined \\
- & & urlendseason & undefined \\
+ & & urlendyeardivision & undefined \\
& & urlhour & 15 \\
& & urlminute & 34 \\
& & urlsecond & 04 \\
@@ -7217,11 +7254,11 @@ urldate & 2009-01-31T15:34:04+05:00 & urlday & 31 \\
urldate & \parbox[t]{0.4\textwidth}{2009-01-31T15:34:04/\\2009-01-31T16:04:34}& urlday & 31 \\
& & urlmonth & 1 \\
& & urlyear & 2009 \\
- & & urlseason & undefined \\
+ & & urlyeardivision & undefined \\
& & urlendday & 31 \\
& & urlendmonth & 1 \\
& & urlendyear & 2009 \\
- & & urlendseason & undefined \\
+ & & urlendyeardivision & undefined \\
& & urlhour & 15 \\
& & urlminute & 34 \\
& & urlsecond & 4 \\
@@ -7233,11 +7270,11 @@ urldate & \parbox[t]{0.4\textwidth}{2009-01-31T15:34:04/\\2009-01-31T16:04:34}&
origdate & 2002-21/2002-23 & origday & undefined \\
& & origmonth & 01 \\
& & origyear & 2002 \\
- & & origseason & spring \\
+ & & origyeardivision & spring \\
& & origendday & undefined \\
& & origendmonth & 02 \\
& & origendyear & 2002 \\
- & & origendseason & autumn \\
+ & & origendyeardivision & autumn \\
& & orighour & undefined \\
& & origminute & undefined \\
& & origsecond & undefined \\
@@ -7249,11 +7286,11 @@ origdate & 2002-21/2002-23 & origday & undefined \\
eventdate & 1995-01-31/1995-02-05 & eventday & 31 \\
& & eventmonth & 01 \\
& & eventyear & 1995 \\
- & & eventseason & undefined \\
+ & & eventyeardivision & undefined \\
& & eventendday & 05 \\
& & eventendmonth & 02 \\
& & eventendyear & 1995 \\
- & & eventendseason & undefined \\
+ & & eventendyeardivision & undefined \\
& & eventhour & undefined \\
& & eventminute & undefined \\
& & eventsecond & undefined \\
@@ -7296,9 +7333,13 @@ This field is the \bibfield{month} as given in the database file or it holds the
This field is the \bibfield{year} as given in the database file or it holds the year component of the \bibfield{date} field. If the date is a range, it holds the year component of the start date.
-\fielditem{season}{datepart}
+\fielditem{yeardivision}{datepart}
-This field holds the season component of the \bibfield{date} field as specified by \acr{ISO8601-2} 4.7 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the season component of the start date.
+This field holds the year division (season, quarter, quadrimester etc.) component of the \bibfield{date} field as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the year division component of the start date.
+
+\fielditem{season}{datepart}\DeprecatedMark
+
+This field holds the season component of the \bibfield{date} field as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the season component of the start date. This is deprecated in favour of \bibfield{yeardivision} which is more generalised.
\fielditem{endhour}{datepart}
@@ -7328,9 +7369,13 @@ If the date specification in the \bibfield{date} field is a range, this field ho
If the date specification in the \bibfield{date} field is a range, this field holds the year component of the end date. A blank (but defined) \bibfield{endyear} component indicates an open ended \bibfield{date} range.
-\fielditem{endseason}{datepart}
+\fielditem{endyeardivision}{datepart}
+
+If the date specification in the \bibfield{date} field is a range, this field holds the year division (season, quarter, quadrimester etc.) component of the end date as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a year division localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{endyeardivision} component indicates an open ended \bibfield{date} range.
-If the date specification in the \bibfield{date} field is a range, this field holds the season component of the end date as specified by \acr{ISO8601-2} 4.7 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{endseason} component indicates an open ended \bibfield{date} range.
+\fielditem{endseason}{datepart}\DeprecatedMark
+
+If the date specification in the \bibfield{date} field is a range, this field holds the season component of the end date as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{endseason} component indicates an open ended \bibfield{date} range. This is deprecated in favour of \bibfield{endyeardivision} which is more generalised.
\fielditem{orighour}{datepart}
@@ -7360,9 +7405,13 @@ This field holds the month component of the \bibfield{origdate} field. If the da
This field holds the year component of the \bibfield{origdate} field. If the date is a range, it holds the year component of the start date.
-\fielditem{origseason}{datepart}
+\fielditem{origyeardivision}{datepart}
+
+This field holds the year division (season, quarter, quadrimester etc.) component of the \bibfield{origdate} field as specified by \acr{ISO8601-2} 4.7 (\secref{bib:use:dat}). It contains a year division localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the year division component of the start date. This is deprecated in favour of \bibfield{origyeardivision} which is more generalised.
-This field holds the season component of the \bibfield{origdate} field as specified by \acr{ISO8601-2} 4.7 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the season component of the start date.
+\fielditem{origseason}{datepart}\DeprecatedMark
+
+This field holds the season component of the \bibfield{origdate} field as specified by \acr{ISO8601-2} 4.7 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the season component of the start date. This is deprecated in favour of \bibfield{origyeardivision} which is more generalised.
\fielditem{origendhour}{datepart}
@@ -7392,9 +7441,13 @@ If the date specification in the \bibfield{origdate} field is a range, this fiel
If the date specification in the \bibfield{origdate} field is a range, this field holds the year component of the end date. A blank (but defined) \bibfield{origendyear} component indicates an open ended \bibfield{origdate} range.
-\fielditem{origendseason}{datepart}
+\fielditem{origendyeardivision}{datepart}
+
+If the date specification in the \bibfield{origdate} field is a range, this field holds the year division (season, quarter, quadrimester etc.) component of the end date as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a year division localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{origendyeardivision} component indicates an open ended \bibfield{origdate} range.
-If the date specification in the \bibfield{origdate} field is a range, this field holds the season component of the end date as specified by \acr{ISO8601-2} 4.7 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{origendseason} component indicates an open ended \bibfield{origdate} range.
+\fielditem{origendseason}{datepart}\DeprecatedMark
+
+If the date specification in the \bibfield{origdate} field is a range, this field holds the season component of the end date as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{origendseason} component indicates an open ended \bibfield{origdate} range. This is deprecated in favour of \bibfield{origendyeardivision} which is more generalised.
\fielditem{eventhour}{datepart}
@@ -7424,9 +7477,13 @@ This field holds the month component of the \bibfield{eventdate} field. If the d
This field holds the year component of the \bibfield{eventdate} field. If the date is a range, it holds the year component of the start date.
-\fielditem{eventseason}{datepart}
+\fielditem{eventyeardivision}{datepart}
+
+This field holds the year division (season, quarter, quadrimester etc.) component of the \bibfield{eventdate} field as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a year division localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the year division component of the start date.
+
+\fielditem{eventseason}{datepart}\DeprecatedMark
-This field holds the season component of the \bibfield{eventdate} field as specified by \acr{ISO8601-2} 4.7 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the season component of the start date.
+This field holds the season component of the \bibfield{eventdate} field as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the season component of the start date. This is deprecated in favour of \bibfield{eventyeardivision} which is more generalised.
\fielditem{eventendhour}{datepart}
@@ -7456,9 +7513,13 @@ If the date specification in the \bibfield{eventdate} field is a range, this fie
If the date specification in the \bibfield{eventdate} field is a range, this field holds the year component of the end date. A blank (but defined) \bibfield{eventendyear} component indicates an open ended \bibfield{eventdate} range.
-\fielditem{eventendseason}{datepart}
+\fielditem{eventendyeardivision}{datepart}
-If the date specification in the \bibfield{eventdate} field is a range, this field holds the season component of the end date as specified by \acr{ISO8601-2} 4.7 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{eventendseason} component indicates an open ended \bibfield{eventdate} range.
+If the date specification in the \bibfield{eventdate} field is a range, this field holds the year division (season, quarter, quadrimester etc.) component of the end date as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a year division localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{eventendyeardivision} component indicates an open ended \bibfield{eventdate} range.
+
+\fielditem{eventendseason}{datepart}\DeprecatedMark
+
+If the date specification in the \bibfield{eventdate} field is a range, this field holds the season component of the end date as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{eventendseason} component indicates an open ended \bibfield{eventdate} range. This is deprecated in favour of \bibfield{eventendyeardivision} which is more generalised.
\fielditem{urlhour}{datepart}
@@ -7488,9 +7549,13 @@ This field holds the month component of the \bibfield{urldate} field.
This field holds the year component of the \bibfield{urldate} field.
-\fielditem{urlseason}{datepart}
+\fielditem{urlyeardivision}{datepart}
+
+This field holds the year division (season, quarter, quadrimester etc.) component of the \bibfield{urldate} field as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a year division localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the year division component of the start date.
+
+\fielditem{urlseason}{datepart}\DeprecatedMark
-This field holds the season component of the \bibfield{urldate} field as specified by \acr{ISO8601-2} 4.7 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the season component of the start date.
+This field holds the season component of the \bibfield{urldate} field as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the season component of the start date. This is deprecated in favour of \bibfield{urlyeardivision} which is more generalised.
\fielditem{urlendhour}{datepart}
@@ -7520,9 +7585,13 @@ If the date specification in the \bibfield{urldate} field is a range, this field
If the date specification in the \bibfield{urldate} field is a range, this field holds the year component of the end date. A blank (but defined) \bibfield{urlendyear} component indicates an open ended \bibfield{urldate} range.
-\fielditem{urlendseason}{datepart}
+\fielditem{urlendyeardivision}{datepart}
-If the date specification in the \bibfield{urldate} field is a range, this field holds the season component of the end date as specified by \acr{ISO8601-2} 4.7 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{urlendseason} component indicates an open ended \bibfield{urldate} range.
+If the date specification in the \bibfield{urldate} field is a range, this field holds the year division (season, quarter, quadrimester etc.) component of the end date as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a year division localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{urlendyeardivision} component indicates an open ended \bibfield{urldate} range.
+
+\fielditem{urlendseason}{datepart}\DeprecatedMark
+
+If the date specification in the \bibfield{urldate} field is a range, this field holds the season component of the end date as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{urlendseason} component indicates an open ended \bibfield{urldate} range. This is deprecated in favour of \bibfield{urlendyeardivision} which is more generalised.
\end{fieldlist}
@@ -7666,7 +7735,7 @@ This section introduces the main data interface of the \biblatex package. These
When an attempt is made to print \prm{field}, \prm{list}, \prm{name}, a
deprecation warning is issued with the additional \prm{message}. This aids
style authors who are changing field names in their style. Note that the
-deprecated item must no longer be defined in the datamodel for this work;
+deprecated item must no longer be defined in the datamodel for this to work;
\prm{field}, \prm{list} or \prm{name} cannot be listed anywhere as an
argument to \cmd{DeclareDatamodelFields}.
@@ -8135,6 +8204,8 @@ A mapping step. Each step is applied sequentially to every relevant entry where
\valitem{matchi}{regexp}
\valitem{notmatch}{regexp}
\valitem{notmatchi}{regexp}
+\valitem{matches}{regexp}
+\valitem{matchesi}{regexp}
\valitem{replace}{regexp}
\valitem{fieldset}{entryfield}
\valitem{fieldvalue}{string}
@@ -8221,6 +8292,7 @@ option to the \cmd{map} command above).
\texttt{replace} is not, only apply the step if the \texttt{fieldsource} \prm{entryfield} matches the
\texttt{match} regular expression (logic is reversed if you use \texttt{notmatch} and case-insensitive if you use the versions ending in <i>)\footnote{Regular expressions are full Perl 5.16 regular expressions. This means you may need to deal with special characters, see examples.}. You may use capture parenthesis as usual and refer to these (\$1\ldots\$9) in later \texttt{fieldvalue} specifications. This allows you to pull out parts of some fields and put these parts in other fields.
\item Perform a regular expression match and replace on the value of the \texttt{fieldsource} \prm{entryfield} if \texttt{match} and \texttt{replace} are defined.
+\item If \texttt{matches} is defined, it should be a comma-separated list of literal strings which are replaced by corresponding locations in a comma-separated list provided in \texttt{replace}. The lists must have the same number of elements or the step will be skipped. \texttt{matchesi} is the same but case-insensitive.
\item If \texttt{fieldset} is defined, then its value is \prm{entryfield}
which will be set to a value specified by further options. If
\texttt{overwrite} is false for this step and the field to set already
@@ -8266,6 +8338,14 @@ This command sets the driver default source mappings for the specified \prm{driv
\end{ltxsyntax}
+\begin{ltxsyntax}
+
+\cmditem{regexp}{PCRE}
+
+This command can be used with any command accepting a regular expression key to protect a regular expression from being interpreted by \TeX\ so that it is passed through to \biber correctly. Regular expressions often contain sequences of characters that are also valid \TeX\ commands but which should not be interpreted as such. The argument is a normal PCRE (Perl Compatible Regular Expression\fnurl{https://perldoc.perl.org/perlre}). Perl escape sequences like \cmd{t} for a tab, \cmd{n} for a newline, \cmd{A} for the start of a string or \cmd{d} for a digit can be used, without \TeX\ trying to execute them as commands, as can be special characters like \verb|^|, \verb|_| or \verb|{..}| and \verb|#|. Only the \% must be protected: to match a single \% in the bib, use \textbackslash\% in the regular expression, a \textbackslash\% is matched by \textbackslash\textbackslash\%.
+
+\end{ltxsyntax}
+
Here are some data source mapping examples:
\begin{ltxexample}
@@ -8561,6 +8641,20 @@ Any entry which is not a \bibtype{book} or \bibtype{article} will be ignored.
%
Here, a clone of an entry from the specified data source will be created. The entry key of the clone will be the same as the original but prefixed by the value of the \texttt{entryclone} parameter. The cloned entry would still need to be cited in the document using its new entry key. This type of mapping step should be used with care as it may produce labelling problems in authoryear styles which use, for example, \opt{extradate}. One use case is for numeric styles which contain multiple bibliographies containing the same entry. In this case, you may need different bibliography number labeld for the same entry and this is very tricky when there is only one entry which needs different labels. Creating clones with different entry keys solves this problem.
+\begin{ltxexample}
+\DeclareSourcemap{
+ \maps[datatype=bibtex]{
+ \map{
+ \step[fieldsource=<<note>>]
+ \step[fieldset=<<usera>>, origfieldval]
+ \step[fieldsource=<<usera>>, matchesi={string1,string2,StriNg3}, replace={1,2,3}]
+ }
+ }
+}
+\end{ltxexample}
+%
+Here, any \bibfield{note} field is copied to \bibfield{usera} and then <string1>, <string2> and <string3> are matched case-insensitively in the \bibfield{usera} field and replaced with <1>, <2> and <3> respectively. The value of \texttt{matches} and \texttt{matchesi} are not regular expressions, they are CSV lists of literal strings, as is the value of \texttt{replace} when either of \texttt{matches} or \texttt{matchesi} are used. The lengths of the match/replace CSV lists must be the same. This is useful when creating a new field to sort by in a custom sorting scheme when the field you wish to sort by has a defined order which is not alphabetical or numeric, such as when sorting by level of court in legal bibliographies. Using \texttt{matches} is simply more efficient than using many individual \texttt{match} maps in serial.
+
\biblatexml\ datasources are more structured than \bibtex\ since they are XML. Sourcemapping is possible with \biblatexml\ too but the specifications of source and target fields etc. also support XPath 1.0 paths in order to be able to work with the structured data. Fields can be specified as per the \bibtex\ examples above and these are converted into XPath 1.0 queries internally as necessary. For example:
\begin{ltxexample}
@@ -9250,7 +9344,7 @@ The \prm{specification} is an undelimited list of \cmd{sort} directives which sp
\cmditem{sort}{elements}
-Specifies the elements considered in the sorting process. The \prm{elements} are an undelimited list of \cmd{field}, \cmd{literal}, and \cmd{citeorder} commands which are evaluated in the order in which they are given. If an element is defined, it is added to the sort key and the sorting routine skips to the next \cmd{sort} directive. If it is undefined, the next element is evaluated. Since literal strings are always defined, any \cmd{literal} commands should be the sole or the last element in a \cmd{sort} directive. All \prm{elements} should be the same datatype as described in \secref{bib:fld:dat} since they will be potentially compared to any of the other \prm{elements} in other entries.. The \cmd{sort} command supports the following optional arguments:
+Specifies the elements considered in the sorting process. The \prm{elements} are an undelimited list of \cmd{field}, \cmd{literal}, \cmd{citecount} and \cmd{citeorder} commands which are evaluated in the order in which they are given. If an element is defined, it is added to the sort key and the sorting routine skips to the next \cmd{sort} directive. If it is undefined, the next element is evaluated. Since literal strings are always defined, any \cmd{literal} commands should be the sole or the last element in a \cmd{sort} directive. All \prm{elements} should be the same datatype as described in \secref{bib:fld:dat} since they will be potentially compared to any of the other \prm{elements} in other entries.. The \cmd{sort} command supports the following optional arguments:
\begin{optionlist*}
@@ -9308,6 +9402,10 @@ The number of characters to match.
The \cmd{literal} element adds a literal \prm{string} to the sorting specification. This is useful as a fallback if some fields are not available.
+\csitem{citecount}
+
+The \cmd{citecount} element has a special meaning. It requests a sort based on the number of times an item was cited. The standard \texttt{count} sorting template uses this to provide a sort in descending order of number of citations. Note that the option \opt{citecounter} must also be enabled for this to work. In addition, an additional \biber run is required in order to calculate the data for this option correctly and so the typical invocation sequence for this option is \emph{latex}$\rightarrow$\emph{biber}$\rightarrow$\emph{latex}$\rightarrow$\emph{latex}$\rightarrow$\emph{biber}$\rightarrow$\emph{latex}.
+
\csitem{citeorder}
The \cmd{citeorder} element has a special meaning. It requests a sort based on the lexical order of the actual citations. For entries cited within the same citation command like:
@@ -9660,7 +9758,7 @@ Defines regular expressions to strip from particular fields or types of fields w
\cmditem{nosort}{field or datafield set}{regexp}
-Any number of \cmd{nosort} commands can be given each of which specifies to remove the \prm{regexp} from the \prm{field} or \prm{datafield set}. A \prm{datafield set} is simply a convenience grouping of semantically similar fields from which you might want to remove a regexp. See \secref{aut:ctm:dsets} for the avaiable sets, their members and customisation. Since regular expressions usually contain special characters, it is best to enclose them in the provided \cmd{regexp} macro as shown---this will pass the expression through to \biber correctly.
+Any number of \cmd{nosort} commands can be given each of which specifies to remove the \prm{regexp} from the \prm{field} or \prm{datafield set}. A \prm{datafield set} is simply a convenience grouping of semantically similar fields from which you might want to remove a regexp. See \secref{aut:ctm:dsets} for the available sets, their members and customisation. Since regular expressions usually contain special characters, it is best to enclose them in the provided \cmd{regexp} macro as shown---this will pass the expression through to \biber correctly.
\end{ltxsyntax}
@@ -9691,6 +9789,44 @@ Or if you wanted to ignore «The» at the beginning of any title field:
}
\end{ltxexample}
+\subsubsection{Fine Tuning hashing and uniquename}
+\label{aut:ctm:nonamestring}
+
+\begin{ltxsyntax}
+\cmditem{DeclareNonamestring}{specification}
+
+Defines regular expressions to strip from name fields when
+generating \bibfield{fullhash} and \bibfield{uniquename}. The \prm{specification} is an undelimited list of \cmd{nonamestring} directives which specify the regular expressions to remove from particular name fields. Spaces, tabs and line endings may be used freely to visually arrange the \prm{specification}. Blank lines are not permissible. This command may only be used in the preamble.
+
+\cmditem{nonamestring}{namefield or datafield name set}{regexp}
+
+Any number of \cmd{nonamestring} commands can be given each of which
+specifies to remove the \prm{regexp} from the \prm{namefield} or
+\prm{datafield name set}. A \prm{datafield name set} is simply a
+convenience grouping of semantically similar fields from which you might
+want to remove a regexp. See \secref{aut:ctm:dsets} for the available sets,
+their members and customisation. Only set of name lists are relevant to
+this command. Since regular expressions usually contain special characters,
+it is best to enclose them in the provided \cmd{regexp} macro as
+shown---this will pass the expression through to \biber correctly.
+
+\end{ltxsyntax}
+
+Suppose you wanted to ignore square brackets in names in the
+\bibfield{author} name field and treat <D[onald] Knuth> the same as <Donald
+Knuth> for purposes \bibfield{uniquename} and hashing so that both variants
+appeared together in a dashed bibliography style and were also treated the
+same when calculating \bibfield{uniquename}:
+
+\begin{ltxexample}
+\DeclareNonamestring{
+ \nonamestring{<<author>>}{\regexp{<<[\[\]]>>}}
+}
+\end{ltxexample}
+%
+For consistency, it is often desirable to use the same regexp in \cmd{DeclareNosort}.
+
+
\subsubsection{Special Fields}
\label{aut:ctm:fld}
@@ -10494,6 +10630,19 @@ Note that \cmd{value} is not prefixed by \cmd{the} and that the subtraction is i
Executes \prm{true} if the \prm{string} is a positive integer, and \prm{false} otherwise. This command is robust.
+\cmditem{hascomputableequivalent}{string}{true}{false}
+
+Executes \prm{true} if the \prm{string} can be transformed into a \latex-computable integer consisting only of \acr{US-ASCII} characters via \cmd{getcomputableequivalent} and \prm{false} otherwise.
+The mapping from non-\acr{US-ASCII} to \acr{US-ASCII} numerals will usually be given in the \file{lbx} file.
+
+\cmditem{ifiscomputable}{string}{true}{false}
+
+Returns \prm{true} if \cmd{ifinteger} or \cmd{hascomputableequivalent} retrurns \prm{true} on \prm{string} and \prm{false} otherwise.
+
+\cmditem{getcomputableequivalent}{string}{macro}
+
+Saves the \acr{US-ASCII} representation of the number given as \prm{string} in \prm{macro}.
+
\cmditem{ifnumeral}{string}{true}{false}
Executes \prm{true} if the \prm{string} is an Arabic or Roman numeral, and \prm{false} otherwise. This command is robust. See also \cmd{DeclareNumChars} and \cmd{NumCheckSetup} in \secref{aut:aux:msc}.
@@ -10510,6 +10659,14 @@ Similar to \cmd{ifnumerals}, but also considers \cmd{DeclarePageCommands} and \c
Similar to \cmd{ifinteger}, but uses the value of a \prm{field} rather than a literal string in the test. If the \prm{field} is undefined, it executes \prm{false}.
+\cmditem{fieldhascomputableequivalent}{field}{true}{false}
+
+Similar to \cmd{hascomputableequivalent}, but uses the value of a \prm{field} rather than a literal string in the test. If the \prm{field} is undefined, it executes \prm{false}.
+
+\cmditem{iffieldiscomputable}{field}{true}{false}
+
+Similar to \cmd{ifiscomputable}, but uses the value of a \prm{field} rather than a literal string in the test. If the \prm{field} is undefined, it executes \prm{false}.
+
\cmditem{iffieldnum}{field}{true}{false}
Similar to \cmd{ifnumeral}, but uses the value of a \prm{field} rather than a literal string in the test. If the \prm{field} is undefined, it executes \prm{false}.
@@ -10711,6 +10868,21 @@ These commands save and restore the formatting directive \prm{format}, as define
Expands to \prm{true} if the bibliography macro \prm{name} is undefined, and to \prm{false} otherwise.
+This bibliography macro can be used in the following idiom to make a bibliography macro more type specific.
+%
+\begin{ltxexample}
+\letbibmacro{cite:*}{cite}
+\newbibmacro{cite:patent}{%
+ \printtext{\color{red}%
+ Some citation format specific to patents}}
+
+\renewbibmacro*{cite}{%
+ \ifbibmacroundef{cite:\thefield{entrytype}}
+ {\usebibmacro{cite:*}}
+ {\usebibmacro*{cite:\thefield{entrytype}}}%
+}
+\end{ltxexample}
+
\cmditem{iffieldformatundef}[entry type]{name}{true}{false}
\cmditem{iflistformatundef}[entry type]{name}{true}{false}
\cmditem{ifnameformatundef}[entry type]{name}{true}{false}
@@ -10750,7 +10922,7 @@ Similar to the \cmd{forcsvlist} command from the \sty{etoolbox} package, except
\cmditem{MakeCapital}{text}
-Similar to \cmd{MakeUppercase} but only converts the first printable character in \prm{text} to uppercase. Note that the restrictions that apply to \cmd{MakeUppercase} also apply to this command. Namely, all commands in \prm{text} must either be robust or prefixed with \cmd{protect} since the \prm{text} is expanded during capitalization. Apart from Ascii characters and the standard accent commands, this command also handles the active characters of the \sty{inputenc} package as well as the shorthands of the \sty{babel} package. If the \prm{text} starts with a control sequence, nothing is capitalized. This command is robust.
+Similar to \cmd{MakeUppercase} but only converts the first printable character in \prm{text} to uppercase. Note that the restrictions that apply to \cmd{MakeUppercase} also apply to this command. Namely, all commands in \prm{text} must either be robust or prefixed with \cmd{protect} since the \prm{text} is expanded during capitalization. Apart from \acr{US-ASCII} characters and the standard accent commands, this command also handles the active characters of the \sty{inputenc} package as well as the shorthands of the \sty{babel} package. If the \prm{text} starts with a control sequence, nothing is capitalized. This command is robust.
\cmditem{MakeSentenceCase}{text}
\cmditem*{MakeSentenceCase*}{text}
@@ -10786,13 +10958,13 @@ title = {The {\TeX book}},
\end{lstlisting}
%
-The behaviour of \cmd{MakeSentenceCase} differs slightly between the \opt{latex2e} and \opt{expl3} implementation. Generally speaking, the \opt{expl3} code is closer to the \bibtex behaviour of \texttt{change.case\$}. It is also better equipped to deal with non-ASCII input and macros than the \opt{latex2e} implementation. \cmd{MakeSentenceCase} behaves as follows.
+The behaviour of \cmd{MakeSentenceCase} differs slightly between the \opt{latex2e} and \opt{expl3} implementation. Generally speaking, the \opt{expl3} code is closer to the \bibtex behaviour of \texttt{change.case\$}. It is also better equipped to deal with non-\acr{US-ASCII} input and macros than the \opt{latex2e} implementation. \cmd{MakeSentenceCase} behaves as follows.
\begin{itemize}\setlength{\labelsep}{1em}
\item The first letter of its argument is capitalised with \cmd{MakeUppercase}. This is different from \bibtex's \texttt{change.case\$}, which does not touch the first letter of its argument.
-
+
Note that with the \opt{latex2e} code a pair of braces that starts with a control sequence will be treated as a single character for capitalisation purposes. This means that the entire argument of a command protected with a single pair of braces is capitalised.
\item With the \opt{latex2e} code expandable commands are expanded before the case change, which means that the case change applies to the replacement text. Unexpandable commands are not touched.
-
+
\bibtex does not interpret macros and therefore passes commands through unchanged (this does not necessarily apply to the \emph{arguments} of those commands). The \opt{expl3} implementation also does not expand commands and only applies case change to the arguments.
\item Text wrapped in one or more pairs of braces is protected from case change \emph{unless} it starts with a control sequence. This is the same behaviour as with \bibtex. Note that the braces could either be explicit groups or argument delimiters.
\item Text in a single pair of braces that starts with a control sequence is not protected and will be subject to case changes. Note that this need not apply to braces that are argument delimiters, in fact the \opt{latex2e} implementation of \cmd{MakeSentenceCase} may in some cases produce an error or otherwise undesirable output if the argument of a command starts with a control sequence. \bibtex's case change function does not differentiate between argument delimiters and brace groups and always subjects text at brace level~1 to case change if it starts with a control sequence.
@@ -10948,7 +11120,7 @@ Takes the name of a bibfield declared as a range field in the data model and ret
\begin{itemize}
\item Calculate the total of multiple ranges in the same field such as <1-10, 20-30>
\item Handle implicit ranges such as <22-4> and <130-33>
-\item Handle roman numeral ranges in upper and lower case and consisting of both ASCII and Unicode roman numeral representations.
+\item Handle roman numeral ranges in upper and lower case and consisting of both \acr{US-ASCII} and Unicode roman numeral representations.
\end{itemize}
%
Here are some examples:
@@ -11455,8 +11627,57 @@ Switches from the current language to the main document language. This command i
Locally switches from the current language to the main document language to typeset \prm{text}. This can be used the \prm{wrapper} argument in the localisation string commands above.
+\cmditem{texouterlang}{text}
+
+Locally switches from the current language to the surrounding language (which was not selected by \sty{biblatex}) to typeset \prm{text}. This can be used the \prm{wrapper} argument in the localisation string commands above.
+
+\end{ltxsyntax}
+
+It is possible to add bibliography strings to a bibliography string set to apply additional formatting.
+
+\begin{ltxsyntax}
+
+\cmditem{DeclareBibstringSet}{setname}{key, \dots}
+
+This commands assigns all \prm{key}s to the bibliography string set \prm{setname}.
+
+\cmditem{UndeclareBibstringSet}{setname}
+
+Remove the bibliography string set \prm{setname}. Any formatting definitions will also be cleared.
+
+\cmditem{UndeclareBibstringSets}
+
+Remove all existing bibliography string sets with \cmd{UndeclareBibstringSet}.
+
+\cmditem{DeclareBibstringSetFormat}{setname}{code}
+
+Defines the bibliography string format for \prm{setname}. The format works exactly like an additional \prm{wrapper} format for \cmd{bibstring}. \prm{code} is executed whenever a bibliography string of \prm{setname} is printed. The text of the bibliography string is passed to \prm{code} as first and only argument.
+
+\cmditem{UneclareBibstringSetFormat}{setname}
+
+Remove any bibliography string set format defined for \prm{setname}.
+
\end{ltxsyntax}
+Bibliography string sets can be useful to apply additional formatting to a number of bibliography strings at the same time. These commands are intended for use in language modules. For example in French typography it is customary to italicise Latin terms. The French language module can define a new bibliography string set called \texttt{latin} for all Latin strings and apply additional formatting only to these strings. It is not recommended to apply the formatting dierctly in the bibliography string definitions, since that can interfere with the capitalisation function. Assuming that the French language \texttt{.lbx} file only defines two Latin strings, \texttt{andothers} and \texttt{andothers}, the \texttt{.lbx} file would contain.
+
+\begin{ltxexample}[escapeinside={(*@}{@*)}]
+\DeclareBibliographyExtras{%
+ (*@\dots@*)
+ \DeclareBibstringSet{latin}{andothers,ibidem}%
+ \DeclareBibstringSetFormat{latin}{\mkbibemph{#1}}%
+ (*@\dots@*)
+}
+
+\UndeclareBibliographyExtras{%
+ (*@\dots@*)
+ \UndeclareBibstringSet{latin}%
+ (*@\dots@*)
+}
+\end{ltxexample}
+Note that the defined sets should be undeclared after use to avoid side effects for other languages.
+
+
\subsection{Localization Modules}
\label{aut:lng}
@@ -12054,9 +12275,11 @@ Other expressions frequently used in citations:
\item[langlatin] The language <Latin>.
\item[langlatvian] The language <Latvian>.
\item[langlithuanian] The language <Lithuanian>.
+\item[langmarathi] The language <Marathi>.
\item[langnorwegian] The language <Norwegian>.
\item[langpolish] The language <Polish>.
\item[langportuguese] The language <Portuguese>.
+\item[langromanian] The language <Romanian>.
\item[langrussian] The language <Russian>.
\item[langserbian] The language <Serbian>.
\item[langslovak] The language <Slovak>.
@@ -12091,9 +12314,11 @@ The following strings are intended for use in phrases like <translated from [the
\item[fromlatin] The expression <from [the] Latin>.
\item[fromlatvian] The expression <from [the] Latvian>.
\item[fromlithuanian] The language <from [the] Lithuanian>.
+\item[frommarathi] The expression <from [the] Marathi>.
\item[fromnorwegian] The expression <from [the] Norwegian>.
\item[frompolish] The expression <from [the] Polish>.
\item[fromportuguese] The expression <from [the] Portuguese>.
+\item[fromromanian] The expression <from [the] Romanian>.
\item[fromrussian] The expression <from [the] Russian>.
\item[fromserbian] The expression <from [the] Serbian>.
\item[fromslovak] The expression <from [the] Slovak>.
@@ -12162,13 +12387,30 @@ Abbreviation strings for <circa> dates:
\item[circa] The string <circa>
\end{keymarglist}
-Abbreviation strings for seasons parsed from \acr{ISO8601-2} Extended Format dates:
+Abbreviation strings for year divisions parsed from \acr{ISO8601-2} Extended Format dates:
\begin{keymarglist}
\item[spring] The string <spring>
\item[summer] The string <summer>
\item[autumn] The string <autumn>
\item[winter] The string <winter>
+\item[springN] The string <spring (Northern Hemisphere)>
+\item[summerN] The string <summer (Northern Hemisphere)>
+\item[autumnN] The string <autumn (Northern Hemisphere)>
+\item[winterN] The string <winter (Northern Hemisphere)>
+\item[springS] The string <spring (Southern Hemisphere)>
+\item[summerS] The string <summer (Southern Hemisphere)>
+\item[autumnS] The string <autumn (Southern Hemisphere)>
+\item[winterS] The string <winter (Southern Hemisphere)>
+\item[Q1] The string <Quarter 1>
+\item[Q2] The string <Quarter 2>
+\item[Q3] The string <Quarter 3>
+\item[Q4] The string <Quarter 3>
+\item[QD1] The string <Quadrimester 1>
+\item[QD2] The string <Quadrimester 2>
+\item[QD3] The string <Quadrimester 3>
+\item[S1] The string <Semestral 1>
+\item[S2] The string <Semestral 2>
\end{keymarglist}
Abbreviation strings for AM/PM:
@@ -12715,7 +12957,11 @@ A generic command which prints its argument as superscripted text. This is a sim
This command takes an integer argument and prints it as a month name. Even though the output of this command is language specific, its definition is not, hence it is normally not redefined in localisation modules.
-\cmditem{mkbibseason}{string}
+\cmditem{mkbibyeardivision}{string}\DeprecatedMark
+
+This command takes a year division localisation string and prints the version of the string corresponding to the setting of the \opt{dateabbrev} package option. Even though the output of this command is language specific, its definition is not, hence it is normally not redefined in localisation modules.
+
+\cmditem{mkbibseason}{string}\DeprecatedMark
This command takes a season localisation string and prints the version of the string corresponding to the setting of the \opt{dateabbrev} package option. Even though the output of this command is language specific, its definition is not, hence it is normally not redefined in localisation modules.
@@ -14520,7 +14766,23 @@ use$<$name$>$ &\+&\+&\_&\+&\+&\_&\_\\
This revision history is a list of changes relevant to users of this package. Changes of a more technical nature which do not affect the user interface or the behavior of the package are not included in the list. More technical details are to be found in the \file{CHANGES.md} file. The numbers on the right indicate the relevant section of this manual.
\begin{changelog}
-\begin{release}{3.16}{2020-12}
+\begin{release}{3.17}{2022-01-25}
+\item Changed behaviour of index-less granular XDATA references\see{use:use:xdat}
+\item Added \cmd{DeclareNonamestring} \see{aut:ctm:nonamestring}
+\item Added new \cmd{citecount} sort option and
+ associated default sorting scheme\see{aut:ctm:srt} and \see{use:opt:pre:gen}
+\item Added new sourcemap verbs \texttt{matches} and \texttt{matchesi}\see{aut:ctm:map}
+\item Deprecated season fields and macros in favour of generalised year
+ divisions\see{aut:bbx:fld:dat}
+\item Added \cmd{textouterlang}\see{aut:str}
+\item Added \cmd{UndeclareDelimcontextAlias}\see{use:fmt:csd}
+\item Added \cmd{DeclareBibstringSet}, \cmd{DeclareBibstringSetFormat} etc.\see{aut:str}
+\item Added Marathi localisation (\textdevanagari{निरंजन})
+\item Added Romanian localisation (Patrick Danilevici)
+\item Added some support for calculating with non-\acr{US-ASCII} numerals\see{aut:aux:tst}
+\item Removed list support for \prm{name} argument of \cmd{DeclareDelimFormat}\see{use:fmt:csd}
+\end{release}
+\begin{release}{3.16}{2020-12-31}
\item Added named refcontext support to \cmd{assignrefcontext*}\see{use:bib:context}
\item Fixed infinite loop with \bibfield{volcitepages} field format
\item Added Extended Name Format documentation\see{use:enf}