summaryrefslogtreecommitdiff
path: root/macros/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-02-04 03:01:19 +0000
committerNorbert Preining <norbert@preining.info>2022-02-04 03:01:19 +0000
commitb7a48c5e229d2c195b6a32bfd73a1036a31f2df3 (patch)
tree0de52f1cd71e177264b40f03cfcae565537e941c /macros/latex
parent5f2b3969a73a6756d3cd224240ae1be6408d5801 (diff)
CTAN sync 202202040301
Diffstat (limited to 'macros/latex')
-rw-r--r--macros/latex/contrib/biblatex/CHANGES.md65
-rw-r--r--macros/latex/contrib/biblatex/bibtex/bst/biblatex.bst8
-rw-r--r--macros/latex/contrib/biblatex/doc/biblatex.pdfbin1598244 -> 1630751 bytes
-rw-r--r--macros/latex/contrib/biblatex/doc/biblatex.tex474
-rw-r--r--macros/latex/contrib/biblatex/doc/examples/02-annotations-biber.pdfbin207853 -> 207854 bytes
-rw-r--r--macros/latex/contrib/biblatex/doc/examples/03-localization-keys-biber.pdfbin246067 -> 283555 bytes
-rw-r--r--macros/latex/contrib/biblatex/doc/examples/03-localization-keys-bibtex.pdfbin245466 -> 283040 bytes
-rw-r--r--macros/latex/contrib/biblatex/doc/examples/03-localization-keys.tex5
-rw-r--r--macros/latex/contrib/biblatex/doc/examples/13-references-by-keyword-biber.pdfbin175130 -> 183623 bytes
-rw-r--r--macros/latex/contrib/biblatex/doc/examples/14-references-by-category-biber.pdfbin174634 -> 183127 bytes
-rw-r--r--macros/latex/contrib/biblatex/doc/examples/16-numeric-prefixed-1-biber.pdfbin157684 -> 157684 bytes
-rw-r--r--macros/latex/contrib/biblatex/doc/examples/17-numeric-prefixed-2-biber.pdfbin157659 -> 157655 bytes
-rw-r--r--macros/latex/contrib/biblatex/doc/examples/19-alphabetic-prefixed-biber.pdfbin158307 -> 158306 bytes
-rw-r--r--macros/latex/contrib/biblatex/doc/examples/20-indexing-single-biber.pdfbin170519 -> 176169 bytes
-rw-r--r--macros/latex/contrib/biblatex/doc/examples/21-indexing-multiple-biber.pdfbin171712 -> 177358 bytes
-rw-r--r--macros/latex/contrib/biblatex/doc/examples/40-style-alphabetic-biber.pdfbin200075 -> 207609 bytes
-rw-r--r--macros/latex/contrib/biblatex/doc/examples/50-style-authoryear-biber.pdfbin280078 -> 280070 bytes
-rw-r--r--macros/latex/contrib/biblatex/doc/examples/60-style-authortitle-biber.pdfbin277795 -> 290007 bytes
-rw-r--r--macros/latex/contrib/biblatex/doc/examples/70-style-verbose-biber.pdfbin268065 -> 268058 bytes
-rw-r--r--macros/latex/contrib/biblatex/doc/examples/71-style-verbose-ibid-biber.pdfbin272064 -> 272059 bytes
-rw-r--r--macros/latex/contrib/biblatex/doc/examples/72-style-verbose-note-biber.pdfbin270391 -> 270384 bytes
-rw-r--r--macros/latex/contrib/biblatex/doc/examples/73-style-verbose-inote-biber.pdfbin274164 -> 274161 bytes
-rw-r--r--macros/latex/contrib/biblatex/doc/examples/74-style-verbose-trad1-biber.pdfbin328754 -> 328741 bytes
-rw-r--r--macros/latex/contrib/biblatex/doc/examples/75-style-verbose-trad2-biber.pdfbin273584 -> 273584 bytes
-rw-r--r--macros/latex/contrib/biblatex/doc/examples/92-bibliographylists-biber.pdfbin63376 -> 63347 bytes
-rw-r--r--macros/latex/contrib/biblatex/doc/examples/96-dates.tex8
-rw-r--r--macros/latex/contrib/biblatex/latex/biblatex.def27
-rw-r--r--macros/latex/contrib/biblatex/latex/biblatex.sty898
-rw-r--r--macros/latex/contrib/biblatex/latex/blx-bibtex.def4
-rw-r--r--macros/latex/contrib/biblatex/latex/blx-compat.def18
-rw-r--r--macros/latex/contrib/biblatex/latex/blx-dm.def34
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/australian.lbx8
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/basque.lbx61
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/brazilian.lbx31
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/british.lbx8
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/bulgarian.lbx25
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/catalan.lbx157
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/croatian.lbx25
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/czech.lbx25
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/danish.lbx29
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/dutch.lbx37
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/english.lbx69
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/estonian.lbx25
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/finnish.lbx25
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/french.lbx25
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/galician.lbx32
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/german.lbx27
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/greek.lbx25
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/icelandic.lbx25
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/italian.lbx25
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/latvian.lbx59
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/lithuanian.lbx69
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/magyar.lbx59
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/marathi.lbx557
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/newzealand.lbx8
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/norsk.lbx25
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/nynorsk.lbx17
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/polish.lbx53
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/portuguese.lbx31
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/romanian.lbx683
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/russian.lbx25
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/serbian.lbx25
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/serbianc.lbx25
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/slovak.lbx25
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/slovene.lbx25
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/spanish.lbx41
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/swedish.lbx25
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/turkish.lbx25
-rw-r--r--macros/latex/contrib/biblatex/latex/lbx/ukrainian.lbx25
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx33
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin575027 -> 576025 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.tex25
-rw-r--r--macros/latex/contrib/fnpct/README2
-rw-r--r--macros/latex/contrib/fnpct/fnpct-manual.cls5
-rw-r--r--macros/latex/contrib/fnpct/fnpct-manual.pdfbin489507 -> 509779 bytes
-rw-r--r--macros/latex/contrib/fnpct/fnpct-manual.tex29
-rw-r--r--macros/latex/contrib/fnpct/fnpct.sty103
77 files changed, 3389 insertions, 835 deletions
diff --git a/macros/latex/contrib/biblatex/CHANGES.md b/macros/latex/contrib/biblatex/CHANGES.md
index 7a035b5a3e..9e6034eac4 100644
--- a/macros/latex/contrib/biblatex/CHANGES.md
+++ b/macros/latex/contrib/biblatex/CHANGES.md
@@ -1,3 +1,65 @@
+# RELEASE NOTES FOR VERSION 3.17
+- **INCOMPATIBLE CHANGE**
+ The behaviour of index-less granular xdata references to list fields has
+ changed. Before, a reference to an XDATA list field would select the
+ first element in the XDATA field list if no index was given but now this
+ will splice in all elements of the XDATA list field. To ensure the
+ previous behaviour, simply add "-1" (assuming the default value of "-"
+ for the biber 'xdatasep' option) to the end of all granaular list
+ XDATA references.
+- Added helper macros to enable calculations with non-ASCII numerals.
+ This is necessary to properly support languages like Marathi.
+ At the moment the 'translation' is very basic and uses a one-to-one
+ correspondence of US-ASCII (Arabic) digits and non-ASCII digits.
+ The translation also needs additional post-processing steps.
+ Use `\blx@defcomputableequivalent{<numeral digit>}{<ASCII digit>}` to
+ make `<numeral digit>` an equivalent of `<ASCII digit>`
+ (presumably this command will be used in `.lbx` files if the language
+ requires it).
+ `\hascomputableequivalent{<string>}` can be used to check if `<string>`
+ is a number that can be converted to a number with ASCII digits.
+ `\getcomputableequivalent{<string>}{<macro>}` does the conversion
+ and saves the number in `<macro>`.
+ There is `\ifiscomputable{<string>}` to check if a `<string>`
+ is an ASCII number OR has a computable equivalent.
+ There are analogous macros for fields instead of strings.
+- Added `\textouterlang` to select the last active language that
+ was not selected by `biblatex` itself.
+ This may help in multilingual setups where `biblatex` also changes the
+ language quite heavily.
+- Added `\DeclareBibstringSet`, `\DeclareBibstringSetFormat` etc.
+ to allow injecting additional formatting for a set of bibstrings.
+ Sets can be defined arbitrarily. These commands are primarily
+ intended for use in localisation modules.
+- Changed the definition of `\bibnamedelimi` to `\isdot\addnbspace`.
+ Previously the definition was just `\addnbspace`, which meant the `.`
+ would be treated as a period/full stop.
+- **BREAKING CHANGE**
+ `\DeclareDelimFormat` no longer accepts a list of names as argument.
+ It only accepts a single delimiter name.
+ A list of contexts is still supported.
+ Note that previously the optional argument would not work correctly
+ with a list of names.
+- **CRITICAL CHANGE**
+ `biblatex` no longer writes tracking and refsection initialisation code
+ to aux files.
+ Instead the `\...cite` commands are redefined locally to do that on demand.
+ This should keep the auxiliary files much cleaner of `biblatex`
+ intervention.
+- **CRITICAL CHANGE**
+ Generalised `season` date part to `yeardivision`. It can now also
+ hold quarter, quadrimester, semestral or seasons with hemisphere
+ designation.
+ Helper macros have been renamed accordingly. Limited backwards
+ compatibility is in place.
+- **(Possibly) CRITICAL CHANGE**
+ `\notecite` and friends no longer issue an explicit `\nocite`.
+ Since the commands are defined with `\DeclareCiteCommand`, they
+ already issue a normal cite request.
+ The additional `\nocite` from the loop code was superfluous
+ and would result in slightly instable `.bcf` files.
+
+
# RELEASE NOTES FOR VERSION 3.16
- Fixed an infinite loop caused by excessive aliasing of the `volcitepages`
format.
@@ -115,7 +177,8 @@
`\multicitesubentryrangedelim`, `\superciterangedelim`,
`\supercitesubentrydelim`, and `\supercitesubentryrangedelim` for
finer control over (compressed) subentry citations in `numeric-comp`.
-- **CRITICAL CHANGE** The structure of the bibmacros in `numeric-comp`
+- **CRITICAL CHANGE**
+ The structure of the bibmacros in `numeric-comp`
has been reworked to make it easier to customise the printed output.
Documents that relied on patching internal bibmacros or heavily
redefined them may have to adapt.
diff --git a/macros/latex/contrib/biblatex/bibtex/bst/biblatex.bst b/macros/latex/contrib/biblatex/bibtex/bst/biblatex.bst
index 8e5103a458..06e60bb887 100644
--- a/macros/latex/contrib/biblatex/bibtex/bst/biblatex.bst
+++ b/macros/latex/contrib/biblatex/bibtex/bst/biblatex.bst
@@ -184,7 +184,7 @@ STRINGS { ctrl.alphaothers ctrl.sortalphaothers ctrl.sortstr
last.name last.hash last.year last.extra }
FUNCTION {initialize} {
- "$Revision: 3.16 $"
+ "$Revision: 3.17 $"
#12 entry.max$ substring$
#-3 entry.max$ substring$
"Biblatex version: " swap$ * top$
@@ -692,10 +692,12 @@ FUNCTION {format:name:part} {
}
FUNCTION {format:name:initials} {
+ "\." "[[[DOT ACCENT]]]" str:replace
".-" "\bibinithyphendelim " str:replace
".~" "\bibinitperiod\bibinitdelim " str:replace
". " "\bibinitperiod\bibinitdelim " str:replace
"." "\bibinitperiod" str:replace
+ "[[[DOT ACCENT]]]" "\." str:replace
}
FUNCTION {is.number} {
@@ -1926,7 +1928,7 @@ FUNCTION {input:control:options} {
% This version corresponds to the .bcf version, *not* the biblatex version!
FUNCTION {input:control:version} {
input:control:parse
- "$Revision: 3.7 $"
+ "$Revision: 3.8 $"
#12 entry.max$ substring$
#-3 entry.max$ substring$
'tempstrga :=
@@ -2769,7 +2771,7 @@ SORT
% This version corresponds to the .bbl version, *not* the biblatex version!
FUNCTION {output:main:begin} {
"% $ biblatex auxiliary file $" write$ newline$
- "% $ biblatex bbl format version " "$Revision: 3.1 $"
+ "% $ biblatex bbl format version " "$Revision: 3.2 $"
#12 entry.max$ substring$ #-3 entry.max$ substring$ * " $" * write$ newline$
"% Do not modify the above lines!" write$ newline$
"%" write$ newline$
diff --git a/macros/latex/contrib/biblatex/doc/biblatex.pdf b/macros/latex/contrib/biblatex/doc/biblatex.pdf
index 3944dda3ff..6dd284f9f4 100644
--- a/macros/latex/contrib/biblatex/doc/biblatex.pdf
+++ b/macros/latex/contrib/biblatex/doc/biblatex.pdf
Binary files differ
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}
diff --git a/macros/latex/contrib/biblatex/doc/examples/02-annotations-biber.pdf b/macros/latex/contrib/biblatex/doc/examples/02-annotations-biber.pdf
index 614ea3ecc3..a6a3c22705 100644
--- a/macros/latex/contrib/biblatex/doc/examples/02-annotations-biber.pdf
+++ b/macros/latex/contrib/biblatex/doc/examples/02-annotations-biber.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex/doc/examples/03-localization-keys-biber.pdf b/macros/latex/contrib/biblatex/doc/examples/03-localization-keys-biber.pdf
index 141a79e6a7..d8f867fff7 100644
--- a/macros/latex/contrib/biblatex/doc/examples/03-localization-keys-biber.pdf
+++ b/macros/latex/contrib/biblatex/doc/examples/03-localization-keys-biber.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex/doc/examples/03-localization-keys-bibtex.pdf b/macros/latex/contrib/biblatex/doc/examples/03-localization-keys-bibtex.pdf
index b10bb33409..c2953f7e4e 100644
--- a/macros/latex/contrib/biblatex/doc/examples/03-localization-keys-bibtex.pdf
+++ b/macros/latex/contrib/biblatex/doc/examples/03-localization-keys-bibtex.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex/doc/examples/03-localization-keys.tex b/macros/latex/contrib/biblatex/doc/examples/03-localization-keys.tex
index 445c000498..cda2b23f50 100644
--- a/macros/latex/contrib/biblatex/doc/examples/03-localization-keys.tex
+++ b/macros/latex/contrib/biblatex/doc/examples/03-localization-keys.tex
@@ -604,9 +604,11 @@ Other expressions frequently used in citations:
\keyitem{langlatin} The language <Latin>.
\keyitem{langlatvian} The language <Latvian>.
\keyitem{langlithuanian} The language <Lithuanian>.
+\keyitem{langmarathi} The language <Marathi>.
\keyitem{langnorwegian} The language <Norwegian>.
\keyitem{langpolish} The language <Polish>.
\keyitem{langportuguese} The language <Portuguese>.
+\keyitem{langromanian} The language <Romanian>.
\keyitem{langrussian} The language <Russian>.
\keyitem{langserbian} The language <Serbian>.
\keyitem{langslovak} The language <Slovak>.
@@ -641,9 +643,11 @@ The following strings are intended for use in phrases like <translated from [the
\keyitem{fromlatin} The expression <from [the] Latin>.
\keyitem{fromlatvian} The expression <from [the] Latvian>.
\keyitem{fromlithuanian} The expression <from [the] Lithuanian>.
+\keyitem{frommarathi} The expression <from [the] Marathi>.
\keyitem{fromnorwegian} The expression <from [the] Norwegian>.
\keyitem{frompolish} The expression <from [the] Polish>.
\keyitem{fromportuguese} The expression <from [the] Portuguese>.
+\keyitem{fromromanian} The expression <from [the] Romanian>.
\keyitem{fromrussian} The expression <from [the] Russian>.
\keyitem{fromserbian} The expression <from [the] Serbian>.
\keyitem{fromslovak} The expression <from [the] Slovak>.
@@ -716,5 +720,6 @@ Patent requests are handled in a similar way, using the string \texttt{patreq} a
\keyitem{pm} The string <PM>
\end{keylist}
+\clearpage
\printbibliography
\end{document}
diff --git a/macros/latex/contrib/biblatex/doc/examples/13-references-by-keyword-biber.pdf b/macros/latex/contrib/biblatex/doc/examples/13-references-by-keyword-biber.pdf
index 382e2d9753..d997b90155 100644
--- a/macros/latex/contrib/biblatex/doc/examples/13-references-by-keyword-biber.pdf
+++ b/macros/latex/contrib/biblatex/doc/examples/13-references-by-keyword-biber.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex/doc/examples/14-references-by-category-biber.pdf b/macros/latex/contrib/biblatex/doc/examples/14-references-by-category-biber.pdf
index d6ee1659ca..b9770f3eee 100644
--- a/macros/latex/contrib/biblatex/doc/examples/14-references-by-category-biber.pdf
+++ b/macros/latex/contrib/biblatex/doc/examples/14-references-by-category-biber.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex/doc/examples/16-numeric-prefixed-1-biber.pdf b/macros/latex/contrib/biblatex/doc/examples/16-numeric-prefixed-1-biber.pdf
index a89885b8c4..e1fddfe1b8 100644
--- a/macros/latex/contrib/biblatex/doc/examples/16-numeric-prefixed-1-biber.pdf
+++ b/macros/latex/contrib/biblatex/doc/examples/16-numeric-prefixed-1-biber.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex/doc/examples/17-numeric-prefixed-2-biber.pdf b/macros/latex/contrib/biblatex/doc/examples/17-numeric-prefixed-2-biber.pdf
index 663c6be367..906a18b8a0 100644
--- a/macros/latex/contrib/biblatex/doc/examples/17-numeric-prefixed-2-biber.pdf
+++ b/macros/latex/contrib/biblatex/doc/examples/17-numeric-prefixed-2-biber.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex/doc/examples/19-alphabetic-prefixed-biber.pdf b/macros/latex/contrib/biblatex/doc/examples/19-alphabetic-prefixed-biber.pdf
index d2a87ce1a0..b0a7303384 100644
--- a/macros/latex/contrib/biblatex/doc/examples/19-alphabetic-prefixed-biber.pdf
+++ b/macros/latex/contrib/biblatex/doc/examples/19-alphabetic-prefixed-biber.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex/doc/examples/20-indexing-single-biber.pdf b/macros/latex/contrib/biblatex/doc/examples/20-indexing-single-biber.pdf
index bd9e0c9583..ac1fb850af 100644
--- a/macros/latex/contrib/biblatex/doc/examples/20-indexing-single-biber.pdf
+++ b/macros/latex/contrib/biblatex/doc/examples/20-indexing-single-biber.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex/doc/examples/21-indexing-multiple-biber.pdf b/macros/latex/contrib/biblatex/doc/examples/21-indexing-multiple-biber.pdf
index dc891e5b3e..26b3acae8b 100644
--- a/macros/latex/contrib/biblatex/doc/examples/21-indexing-multiple-biber.pdf
+++ b/macros/latex/contrib/biblatex/doc/examples/21-indexing-multiple-biber.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex/doc/examples/40-style-alphabetic-biber.pdf b/macros/latex/contrib/biblatex/doc/examples/40-style-alphabetic-biber.pdf
index 5b78e1b286..17f5db2dce 100644
--- a/macros/latex/contrib/biblatex/doc/examples/40-style-alphabetic-biber.pdf
+++ b/macros/latex/contrib/biblatex/doc/examples/40-style-alphabetic-biber.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex/doc/examples/50-style-authoryear-biber.pdf b/macros/latex/contrib/biblatex/doc/examples/50-style-authoryear-biber.pdf
index f8c520c6bd..dbf2370b9d 100644
--- a/macros/latex/contrib/biblatex/doc/examples/50-style-authoryear-biber.pdf
+++ b/macros/latex/contrib/biblatex/doc/examples/50-style-authoryear-biber.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex/doc/examples/60-style-authortitle-biber.pdf b/macros/latex/contrib/biblatex/doc/examples/60-style-authortitle-biber.pdf
index 53dc8141fb..d088d528a8 100644
--- a/macros/latex/contrib/biblatex/doc/examples/60-style-authortitle-biber.pdf
+++ b/macros/latex/contrib/biblatex/doc/examples/60-style-authortitle-biber.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex/doc/examples/70-style-verbose-biber.pdf b/macros/latex/contrib/biblatex/doc/examples/70-style-verbose-biber.pdf
index 1d5cbce108..e3f5e3cc3a 100644
--- a/macros/latex/contrib/biblatex/doc/examples/70-style-verbose-biber.pdf
+++ b/macros/latex/contrib/biblatex/doc/examples/70-style-verbose-biber.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex/doc/examples/71-style-verbose-ibid-biber.pdf b/macros/latex/contrib/biblatex/doc/examples/71-style-verbose-ibid-biber.pdf
index 863bb7a9cd..00f3529432 100644
--- a/macros/latex/contrib/biblatex/doc/examples/71-style-verbose-ibid-biber.pdf
+++ b/macros/latex/contrib/biblatex/doc/examples/71-style-verbose-ibid-biber.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex/doc/examples/72-style-verbose-note-biber.pdf b/macros/latex/contrib/biblatex/doc/examples/72-style-verbose-note-biber.pdf
index fd16d6daa5..dc0c7607c7 100644
--- a/macros/latex/contrib/biblatex/doc/examples/72-style-verbose-note-biber.pdf
+++ b/macros/latex/contrib/biblatex/doc/examples/72-style-verbose-note-biber.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex/doc/examples/73-style-verbose-inote-biber.pdf b/macros/latex/contrib/biblatex/doc/examples/73-style-verbose-inote-biber.pdf
index b88829933d..258242aeca 100644
--- a/macros/latex/contrib/biblatex/doc/examples/73-style-verbose-inote-biber.pdf
+++ b/macros/latex/contrib/biblatex/doc/examples/73-style-verbose-inote-biber.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex/doc/examples/74-style-verbose-trad1-biber.pdf b/macros/latex/contrib/biblatex/doc/examples/74-style-verbose-trad1-biber.pdf
index 03719557d6..4e50b69c8a 100644
--- a/macros/latex/contrib/biblatex/doc/examples/74-style-verbose-trad1-biber.pdf
+++ b/macros/latex/contrib/biblatex/doc/examples/74-style-verbose-trad1-biber.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex/doc/examples/75-style-verbose-trad2-biber.pdf b/macros/latex/contrib/biblatex/doc/examples/75-style-verbose-trad2-biber.pdf
index 55eca59323..b494bd863a 100644
--- a/macros/latex/contrib/biblatex/doc/examples/75-style-verbose-trad2-biber.pdf
+++ b/macros/latex/contrib/biblatex/doc/examples/75-style-verbose-trad2-biber.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex/doc/examples/92-bibliographylists-biber.pdf b/macros/latex/contrib/biblatex/doc/examples/92-bibliographylists-biber.pdf
index cc5ef774bd..b37b763903 100644
--- a/macros/latex/contrib/biblatex/doc/examples/92-bibliographylists-biber.pdf
+++ b/macros/latex/contrib/biblatex/doc/examples/92-bibliographylists-biber.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex/doc/examples/96-dates.tex b/macros/latex/contrib/biblatex/doc/examples/96-dates.tex
index d1e88e2f53..24f7b863d8 100644
--- a/macros/latex/contrib/biblatex/doc/examples/96-dates.tex
+++ b/macros/latex/contrib/biblatex/doc/examples/96-dates.tex
@@ -18,10 +18,10 @@
@misc{date2,
note = {Dates with circa and uncertain markers},
author = {Author2},
- date = {1723%}, % year with EDTF approximate (circa) and uncertainty markers
+ date = {1723%}, % year with ISO8601-2 approximate (circa) and uncertainty markers
origdate = {1934-02~}, % year and month with circa marker
eventdate = {1976?}, % year with uncertainty marker
- urldate = {1922~}, % year with EDTF approximate (circa) marker
+ urldate = {1922~}, % year with ISO8601-2 approximate (circa) marker
}
@misc{date3,
note = {Date ranges},
@@ -42,7 +42,7 @@
@misc{date5,
note = {Seasons},
author = {Author5},
- date = {1723-21}, % season (21=spring, 22=summer, 23=autumn, 24=winter)
+ date = {1723-21}, % year divisions (21=spring)
origdate = {1934-24~}, % uncertain year plus season
eventdate = {1934-22/1934-23}, % range with seasons
}
@@ -83,7 +83,7 @@
}
\end{filecontents}
\usepackage[style=authoryear,%
- % dateabbrev=false,% when false, don't abbreviate months/seasons
+ % dateabbrev=false,% when false, don't abbreviate months/year divisions
% julian=true,% convert dates before gregorianstart to Julian Calendar
% gregorianstart=1582-10-15,% Default
alldates=short,%
diff --git a/macros/latex/contrib/biblatex/latex/biblatex.def b/macros/latex/contrib/biblatex/latex/biblatex.def
index c4ac8d0169..58c7414182 100644
--- a/macros/latex/contrib/biblatex/latex/biblatex.def
+++ b/macros/latex/contrib/biblatex/latex/biblatex.def
@@ -210,6 +210,11 @@
% \bibsetup is a generic hook controlling the (low-level) layout of
% the bibliography and bibliography lists. The default
% definition should work fine in most cases.
+% There are a few other penalties and parameters that could be adjusted
+% here, but we don't do that by default for backwards compatibility
+% reasons.
+% * \finalhyphendemerits can be set to 0 to allow hyphenation
+% in the penultimate line
\newcommand*{\bibsetup}{%
\interlinepenalty=5000\relax
@@ -1469,6 +1474,10 @@
\sort{\citeorder}
}
+\DeclareSortingTemplate{count}{
+ \sort[direction=descending]{\citecount}
+}
+
\DeclareSortingTemplate{debug}{
\sort{
\field{entrykey}
@@ -2247,21 +2256,21 @@
\DeclareCiteCommand{\notecite}
{\printfield{prenote}%
\setunit*{\printdelim{prenotedelim}}}
- {\nocite{\thefield{entrykey}}}
+ {}
{}
{\printfield{postnote}}
\DeclareCiteCommand{\pnotecite}[\mkbibparens]
{\printfield{prenote}%
\setunit*{\printdelim{prenotedelim}}}
- {\nocite{\thefield{entrykey}}}
+ {}
{}
{\printfield{postnote}}
\DeclareCiteCommand{\fnotecite}[\mkbibfootnote]
{\printfield{prenote}%
\setunit*{\printdelim{prenotedelim}}}
- {\nocite{\thefield{entrykey}}}
+ {}
{}
{\printfield{postnote}}
@@ -2979,13 +2988,21 @@
{\ifnamesequal{author}{savedauthor}
{\clearname{author}}
{}}%
- \renewbibmacro*{related:init}{}%
\DeclareNameAlias{sortname}{default}%
+ % from authortitle and authoryear
+ \ifbibmacroundef{bbx:dashcheck}
+ {}
+ {\renewbibmacro*{bbx:dashcheck}[2]{##2}}%
+ % authoryear
+ \ifbibmacroundef{labeltitle}
+ {}
+ {\renewbibmacro*{labeltitle}{}}%
\ifbibmacroundef{date+extradate}
{}
{\renewbibmacro*{date+extradate}{}%
\renewbibmacro*{bbx:ifmergeddate}{\@secondoftwo}}%
- \renewbibmacro*{pageref}{}}
+ \renewbibmacro*{pageref}{}%
+ \renewbibmacro*{related:init}{}}
{\thefield{entrytype}}}}
\newbibmacro*{related:bytranslator}[1]{%
diff --git a/macros/latex/contrib/biblatex/latex/biblatex.sty b/macros/latex/contrib/biblatex/latex/biblatex.sty
index e24c735007..afafd19134 100644
--- a/macros/latex/contrib/biblatex/latex/biblatex.sty
+++ b/macros/latex/contrib/biblatex/latex/biblatex.sty
@@ -12,8 +12,8 @@
% particular purpose.
% Set up the version strings here
-\def\abx@date{2020/12/31}
-\def\abx@version{3.16}
+\def\abx@date{2022/02/02}
+\def\abx@version{3.17}
\def\abx@bbxid{\abx@date\space v\abx@version\space biblatex bibliography style (PK/MW)}
\def\abx@cbxid{\abx@date\space v\abx@version\space biblatex citation style (PK/MW)}
\def\abx@lbxid{\abx@date\space v\abx@version\space biblatex localization (PK/MW)}
@@ -22,12 +22,12 @@
% This is not updated by build script as the control file version
% does not necessarily change with the package version.
% This is used when writing the .bcf
-\def\blx@bcfversion{3.7}
+\def\blx@bcfversion{3.8}
% 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
-\def\blx@bblversion{3.1}
+\def\blx@bblversion{3.2}
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{biblatex}
@@ -64,8 +64,10 @@
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
\IfFormatAtLeastTF{2020/10/01}
{\def\blx@AfterPreamble{\AddToHook{begindocument}[biblatex/afterpreamble]}%
- \DeclareHookRule{begindocument}{biblatex/afterpreamble}{after}{biblatex}}
- {\def\blx@AfterPreamble{\AfterPreamble}}
+ \DeclareHookRule{begindocument}{biblatex/afterpreamble}{after}{biblatex}%
+ \def\blx@AtEndDocument{\AddToHook{enddocument/afterlastpage}}}
+ {\def\blx@AfterPreamble{\AfterPreamble}%
+ \def\blx@AtEndDocument{\AtEndDocument}}
% generalised keyval interface
% define a new key (possibly with a default value)
@@ -206,6 +208,14 @@
{\global\cslet{blx@pkgloaded@polyglossia}\@empty}
{}
+\@ifpackageloaded{inputenc}
+ {\global\cslet{blx@pkgloaded@inputenc}\@empty}
+ {}
+
+\@ifpackageloaded{inputenx}
+ {\global\cslet{blx@pkgloaded@inputenx}\@empty}
+ {}
+
% this part is deferred to \AtEndPreamble
\def\blx@packageincompatibility@endpreambleonly{%
% people should not be abusing noerroretextools,
@@ -219,6 +229,17 @@
Please do not define '\string\blx@noerroretextools'\MessageBreak
unless you really need it}}}
{}%
+ \@ifpackageloaded{inputenc}
+ {\ifcsundef{blx@pkgloaded@inputenc}
+ {\blx@warning@noline{Load 'inputenc' before biblatex}}
+ {}}
+ {}%
+ \@ifpackageloaded{inputenx}
+ {\ifcsundef{blx@pkgloaded@inputenx}
+ {}
+ {\blx@warning@noline{Load 'inputenx' before biblatex}}
+ {}}
+ {}%
% polyglossia pretends to be babel, so the nested structure helps
% to make sure that babel really is babel
\@ifpackageloaded{polyglossia}
@@ -582,43 +603,38 @@
{}%
}
-% our copy of \addtocontents with \immediate (not @protected,
-% so a bit different, but we are only going to use it for very
-% specific input, so that doesn't matter)
-\def\blx@immediate@addtocontents#1#2{%
- \blx@auxwrite\@auxout
- {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble}%
- {\string\@writefile{#1}{#2}}}
-\AtBeginDocument{%
- \blx@immediate@addtocontents{toc}{%
- \boolfalse{citerequest}%
- \boolfalse{citetracker}%
- \boolfalse{pagetracker}%
- \boolfalse{backtracker}\relax}%
- \blx@immediate@addtocontents{lof}{%
- \boolfalse{citerequest}%
- \boolfalse{citetracker}%
- \boolfalse{pagetracker}%
- \boolfalse{backtracker}\relax}%
- \blx@immediate@addtocontents{lot}{%
- \boolfalse{citerequest}%
- \boolfalse{citetracker}%
- \boolfalse{pagetracker}%
- \boolfalse{backtracker}\relax}}
-
-\begingroup
-\@makeother\#
-% \relax: gobble newline -> titletoc.sty
-\AtEndPreamble{%
- \patchcmd\addtocontents
- {\string\@writefile}
- {\string\@writefile{#1}{\defcounter{refsection}{\the\c@refsection}\relax}%
- \string\@writefile}
+\protected\def\blx@providecounter#1{%
+ \ifltxcounter{#1}
{}
- {\blx@err@patch{\string\addtocontents}}}
-\endgroup
+ {\newcounter{#1}}}
+
+\def\blx@citecmds{}
+% \autocite and \autocites are not defined via \DeclareCiteCommand
+\listadd\blx@citecmds{autocite}
+\listadd\blx@citecmds{autocites}
+\newcommand*{\blx@contentssafe@citecommands}{%
+ \forlistloop{\blx@mkcitecmd@contentssafe}{\blx@citecmds}}
+
+\def\blx@mkcitecmd@contentssafe#1{%
+ \csdef{#1}{%
+ \blx@tocontentsinit{\the\c@refsection}%
+ \noexpand\csuse{#1}}}
+
+\protected\def\blx@tocontentsinit#1{%
+ \boolfalse{citerequest}%
+ \boolfalse{citetracker}%
+ \boolfalse{pagetracker}%
+ \boolfalse{backtracker}%
+ \defcounter{refsection}{#1}}
+
+\patchcmd\addtocontents
+ {\let\glossary\@gobble}
+ {\let\glossary\@gobble
+ \blx@contentssafe@citecommands}
+ {}
+ {\blx@err@patch{\addtocontents}}
% trick hyperref into believing we're natbib
\let\NAT@parse\@empty
@@ -637,7 +653,7 @@
\begingroup
\def\blx@tempa{\endgroup
\@secondoftwo}%
- \renewcommand*{\do}[1]{%
+ \def\do##1{%
\ifstrequal{##1}{#1}
{\def\blx@tempa{\endgroup
\@firstoftwo}%
@@ -835,12 +851,13 @@
\newcount\blx@tempcnta
\newcount\blx@tempcntb
\newcount\blx@tempcntc
-\newcount\blx@maxsection
-\expandafter\newcount\csname blx@maxsegment@0\endcsname
+\newcounter{blx@maxsection}
+\def\theblx@maxsection{\the\c@blx@maxsection}
+\newcounter{blx@maxsegment@0}
\newcount\blx@notetype
\newcount\blx@parenlevel@text
\newcount\blx@parenlevel@foot
-\expandafter\newcount\csname blx@sectionciteorder@0\endcsname
+\newcounter{blx@sectionciteorder@0}
\newcount\blx@entrysetcounter
\newcount\blx@biblioinstance
@@ -868,8 +885,6 @@
\newlength{\bibparsep}
\newlength{\bibhang}
-\newbool{refcontextdefaults}
-\booltrue{refcontextdefaults}%
\newbool{sourcemap}
\newbool{citetracker}
\newbool{pagetracker}
@@ -954,6 +969,7 @@
% Used to track default refcontexts for citations
\cslet{blx@defaultrefcontexts@0}\@empty
\listadd\blx@allrefsections{0}
+\listadd\blx@alllastrefsections{0}
% Used to track defernumbers from .aux
\global\let\blx@localnumbers\@empty
@@ -970,14 +986,8 @@
% Used to track transliterations
\global\let\blx@translits\@empty
-% Use to track every entry found in .bbl
-% Used to issue defernumbers warning about missing keys because this causes
-% defernumbers labelling to fail.
-\global\let\blx@entries\@empty
-
% Initialise some lists which track changing citations/sortingtemplates
% etc. between runs
-\global\let\blx@cites\@empty
\global\let\blx@nocites\@empty
\global\let\blx@directcites\@empty
\global\let\blx@refcontexts\@empty
@@ -986,8 +996,8 @@
\global\let\blx@dlistnames\@empty
\global\let\blx@biblists\@empty
\global\let\blx@lastbiblists\@empty
-\global\let\blx@lastcites\@empty
\global\let\blx@localnumaux\@empty
+\global\cslet{blx@cites@0}\@empty
\newread\blx@bcfin
\newwrite\blx@bcfout
@@ -1618,7 +1628,7 @@
\def\blx@addchecksum{\blx@checksum\blx@checksum@old}
\def\blx@addpagesum{\blx@checksum\blx@pagesum@old}
-\AtEndDocument{%
+\blx@AtEndDocument{%
\def\blx@addchecksum{\blx@checksum\blx@checksum@new}%
\def\blx@addpagesum{\blx@checksum\blx@pagesum@new}}
@@ -2233,9 +2243,13 @@
% {<entry type>}{<driverdef>}
\newrobustcmd*{\DeclareBibliographyDriver}[1]{%
- \long\csdef{blx@bbx@#1}}
+ \blx@declarebibdriver{#1}}
\@onlypreamble\DeclareBibliographyDriver
+\long\def\blx@declarebibdriver#1#2{\long\csdef{blx@bbx@#1}{#2}}
+
+
+
% {<entry type>}
\def\blx@driver#1{%
\ifcsdef{blx@bbx@#1}
@@ -3145,6 +3159,44 @@
\fi
\endgroup}
+% {\<non-ASCII numeral>}{\<ASCII number>}
+\protected\def\blx@defcomputableequivalent#1#2{%
+ \appto\blx@dononasciicomputablenumerals{\do#1}%
+ \appto\blx@initcomputableequivs{\uccode`#1=`#2}}
+
+% {<string>}{<true>}{<false>}
+\protected\long\def\blx@imc@hascomputableequivalent#1{%
+ \begingroup
+ \def\do##1{\uccode`##1=`\%}%
+ \blx@dononasciicomputablenumerals
+ \catcode`\@=11
+ \catcode`\%=9
+ \endlinechar\m@ne
+ \uppercase{\scantokens{\def\blx@tempa{#1}}}%
+ \ifx\blx@tempa\@empty
+ \aftergroup\@firstoftwo
+ \else
+ \aftergroup\@secondoftwo
+ \fi
+ \endgroup}
+
+% {<string>}{<true>}{<false>}
+\protected\long\def\blx@imc@ifiscomputable#1{%
+ \blx@imc@ifinteger{#1}
+ {\@firstofone}
+ {\blx@imc@hascomputableequivalent{#1}}}
+
+% {<string>}{<macro>}
+\protected\long\def\blx@imc@getcomputableequivalent#1#2{%
+ \blx@imc@hascomputableequivalent{#1}
+ {\begingroup
+ \blx@initcomputableequivs
+ \uppercase{\def\blx@tempa{#1}}%
+ \edef\blx@tempb{\endgroup
+ \noexpand\def\noexpand#2{\expandonce{\blx@tempa}}}%
+ \blx@tempb}
+ {\def#2{#1}}}
+
% {<field>}{<true>}{<false>}
\protected\def\blx@imc@iffieldint#1{%
\blx@imc@iffieldundef{#1}
@@ -3154,6 +3206,24 @@
\expandafter\expandafter
\expandafter{\csname abx@field@#1\endcsname}}}
+% {<field>}{<true>}{<false>}
+\protected\def\blx@imc@fieldhascomputableequivalent#1{%
+ \blx@imc@iffieldundef{#1}
+ {\@secondoftwo}
+ {\expandafter\expandafter
+ \expandafter\blx@imc@hascomputableequivalent
+ \expandafter\expandafter
+ \expandafter{\csname abx@field@#1\endcsname}}}
+
+% {<field>}{<true>}{<false>}
+\protected\def\blx@imc@iffieldiscomputable#1{%
+ \blx@imc@iffieldundef{#1}
+ {\@secondoftwo}
+ {\expandafter\expandafter
+ \expandafter\blx@imc@ifiscomputable
+ \expandafter\expandafter
+ \expandafter{\csname abx@field@#1\endcsname}}}
+
% {<string>}{<true>}{<false>}
\protected\def\blx@imc@ifnumeral{%
\blx@ifnum\blx@hook@ifnum}
@@ -3184,11 +3254,15 @@
\fi
\endgroup}
+% valid numerals set by the lbx file
+\let\lbx@dononasciinumerals\relax
+
\def\blx@hook@ifnum{%
\def\do##1{\uccode`##1=`\%}%
\do\ \do\0\do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9%
\do\i\do\v\do\x\do\l\do\c\do\d\do\m
\do\I\do\V\do\X\do\L\do\C\do\D\do\M
+ \lbx@dononasciinumerals
\blx@donumchars
\let\RN\@firstofone
\let\Rn\@firstofone}
@@ -3750,7 +3824,7 @@
% Delimiter interface
-% [<contextname, ...>]{<name, ...>}{<code>}
+% [<contextname, ...>]{<name>}{<code>}
\newrobustcmd*{\DeclareDelimFormat}{%
\@ifstar
{\blx@declaredelimclear}
@@ -3778,12 +3852,10 @@
\docsvlist{#1}}}%
\def\blx@declaredelim@i#1#2#3#4{%
- \def\do@i##1{%
- \ifcsdef{#1##1}
- {\blx@inf@delimdeclare{##1}{#2}}
- {}%
- \csdef{#1##1}{#4}}%
- \forcsvlist{\do@i}{#3}}
+ \ifcsdef{#1#3}
+ {\blx@inf@delimdeclare{#3}{#2}}
+ {}%
+ \csdef{#1#3}{#4}}
% [<alias context, ...>]{<alias>}[<delim context>]{<delim>}
% deprecated: *[<alias context, ...>]{<alias>}[<delim context>]{<delim>}
@@ -3851,34 +3923,40 @@
% {<alias>}{<source>}
\def\blx@declaredelimalias@auto#1#2{%
\blx@cleardelim{#1}%
- \blx@declaredelimalias@def{}{#1}{}{#2}%
+ \blx@declaredelimalias@manual{}{#1}{}{#2}%
\ifcsvoid{blx@declaredelimcontexts@#2}
{}
{\def\do##1{%
- \blx@declaredelimalias@def
- {blx@printdelim@##1@}{#1}{blx@printdelim@##1@}{#2}}%
+ \blx@declaredelimalias@manual{##1}{#1}{##1}{#2}}%
\dolistcsloop{blx@declaredelimcontexts@#2}}}
% {<alias context>}{<alias>}{<source context>}{<source>}
\def\blx@declaredelimalias@manual#1#2#3#4{%
+ \begingroup
\ifblank{#1}
- {\ifblank{#3}
- {\blx@declaredelimalias@def{}{#2}{}{#4}}
- {\blx@declaredelimalias@def{}{#2}{blx@printdelim@#3@}{#4}}}
- {\ifblank{#3}
- {\blx@declaredelimalias@def{blx@printdelim@#1@}{#2}{}{#4}}}
- {\blx@declaredelimalias@def{blx@printdelim@#1@}{#2}{blx@printdelim@#3@}{#4}}}
+ {\def\blx@tempa{{}{}}}
+ {\def\blx@tempa{{blx@printdelim@#1@}{#1}}}%
+ \ifblank{#3}
+ {\def\blx@tempb{{}{}}}
+ {\def\blx@tempb{{blx@printdelim@#3@}{#3}}}%
+ \edef\blx@tempc{\endgroup
+ \noexpand\blx@declaredelimalias@def%
+ \expandonce\blx@tempa {\unexpanded{#2}}%
+ \expandonce\blx@tempb {\unexpanded{#4}}}%
+ \blx@tempc}
-\def\blx@declaredelimalias@def#1#2#3#4{%
- \ifcsdef{#1#2}
- {\blx@inf@delimdeclare{#2}{#1}}
+% {<alias context internal id>}{<alias context name>}{<alias>}
+% {<source context internal id>}{<source context name>}{<source>}
+\def\blx@declaredelimalias@def#1#2#3#4#5#6{%
+ \ifcsdef{#1#3}
+ {\blx@inf@delimdeclare{#3}{#2}}
{}%
- \ifblank{#1}
+ \ifblank{#2}
{}
- {\ifinlistcs{#1}{blx@declaredelimcontexts@#2}
+ {\ifinlistcs{#2}{blx@declaredelimcontexts@#3}
{}
- {\listcsadd{blx@declaredelimcontexts@#2}{#1}}}%
- \csdef{#1#2}{\ifcsundef{#3#4}{\csuse{#4}}{\csuse{#3#4}}}}
+ {\listcsadd{blx@declaredelimcontexts@#3}{#2}}}%
+ \csdef{#1#3}{\ifcsundef{#4#6}{\csuse{#6}}{\csuse{#4#6}}}}
\def\blx@delimcontext{none}
\newcommand*{\printdelim}[2][]{%
@@ -3903,6 +3981,9 @@
\newcommand*{\DeclareDelimcontextAlias}[2]{%
\csdef{blx@delimcontextalias@#1}{#2}}
+\newcommand*{\UndeclareDelimcontextAlias}[1]{%
+ \csundef{blx@delimcontextalias@#1}}
+
\newrobustcmd*{\AtUsedriver}{%
\@ifstar
{\global\undef\blx@hook@usedriver
@@ -4053,7 +4134,7 @@
{\ifcsstring{blx@dateformat@#1date}{year}
{\@firstoftwo}
{\iffieldundef{#1month}
- {\iffieldundef{#1season}}
+ {\iffieldundef{#1yeardivision}}
{\@secondoftwo}}}}
\def\blx@imc@ifdatehastime#1{%
@@ -4081,7 +4162,7 @@
{\@secondoftwo}}
\def\blx@reconstruct@comparabledate#1{%
- \thefield{#1year}-\thefield{#1month}(\thefield{#1season})-%
+ \thefield{#1year}-\thefield{#1month}(\thefield{#1yeardivision})-%
\thefield{#1day}T%
\thefield{#1hour}:\thefield{#1minute}:\thefield{#1second}Z%
\thefield{#1timezone}//%
@@ -4121,8 +4202,10 @@
\ifnameequalcs \ifnameequals \ifnamesequal \ifnameundef \ifnamexref
\iffirstonpage \ifsamepage \savefield \savefieldcs \savelist
\savelistcs \savename \savenamecs \usedriver
- \ifinteger \ifnumeral \ifnumerals \ifpages
- \iffieldint \iffieldnum \iffieldnums \iffieldpages
+ \ifinteger \hascomputableequivalent \ifiscomputable \getcomputableequivalent
+ \ifnumeral \ifnumerals \ifpages
+ \iffieldint \fieldhascomputableequivalent \iffieldiscomputable
+ \iffieldnum \iffieldnums \iffieldpages
\iflabeldateisdate \ifdatehasyearonlyprecision \ifdatehastime
\ifdateshavedifferentprecision
\ifdateyearsequal \ifdatesequal \ifdaterangesequal
@@ -4527,7 +4610,7 @@
\newrobustcmd*{\bibnamedelimb}{\addlowpenspace}
\newrobustcmd*{\bibnamedelimc}{\addhighpenspace}
\newrobustcmd*{\bibnamedelimd}{\addlowpenspace}
-\newrobustcmd*{\bibnamedelimi}{\addnbspace}
+\newrobustcmd*{\bibnamedelimi}{\isdot\addnbspace}
% [<format>][<start>-<stop>]{<namelist>}
\protected\def\blx@imc@indexnames{%
@@ -4750,6 +4833,44 @@
\printtext \printfield \printlist \printnames \printfile
\indexfield \indexlist \indexnames \entrydata \entryset}
+\let\blx@bibstringsets\@empty
+
+% {<set>}{<bibstring_1>,...,<bibstring_n>}
+\newrobustcmd*{\DeclareBibstringSet}[1]{%
+ \listadd\blx@bibstringsets{#1}%
+ \def\do##1{%
+ \csdef{blx@bibstringset@string@##1}{#1}%
+ \listcsadd{blx@bibstringset@set@#1}{##1}}%
+ \docsvlist}
+
+% {<set>}
+\newrobustcmd*{\UndeclareBibstringSet}[1]{%
+ \def\do##1{\csundef{blx@bibstringset@string@##1}}%
+ \dolistcsloop{blx@bibstringset@set@#1}%
+ \csundef{blx@bibstringset@set@#1}%
+ \UndeclareBibstringSetFormat{#1}}
+
+\newrobustcmd*{\UndeclareBibstringSets}{%
+ \forlistloop{\UndeclareBibstringSet}{\blx@bibstringsets}%
+ \let\blx@bibstringsets\@empty}
+
+% {<set>}{<code>}
+\newrobustcmd*{\DeclareBibstringSetFormat}[1]{%
+ \csdef{blx@bibstringsetformat@#1}##1}
+
+% {<set>}
+\newrobustcmd*{\UndeclareBibstringSetFormat}[1]{%
+ \csundef{blx@bibstringsetformat@#1}}
+
+% {<wrapper>}{<string (name)>}{<text (derived from string)>}
+\def\blx@wrapbibstring#1#2#3{%
+ \ifcsundef{blx@bibstringset@string@#2}
+ {#1{#3}}
+ {\ifcsundef{blx@bibstringsetformat@\csuse{blx@bibstringset@string@#2}}
+ {#1{#3}}
+ {#1{\csuse{blx@bibstringsetformat@\csuse{blx@bibstringset@string@#2}}
+ {#3}}}}}
+
%% Localization
% {<wrapper>}{<long/short>}{<string>}{<print code>}
@@ -4789,8 +4910,8 @@
\protected\def\blx@bibstring#1#2#3{%
\blx@met@bibstring{#1}{#2}{#3}
{\blx@imc@ifcapital
- {#1{\MakeCapital{\csuse{#2@\blx@tempa}}}}
- {#1{\csuse{#2@\blx@tempa}}}%
+ {\blx@wrapbibstring{#1}{\blx@tempa}{\MakeCapital{\csuse{#2@\blx@tempa}}}}
+ {\blx@wrapbibstring{#1}{\blx@tempa}{\csuse{#2@\blx@tempa}}}%
\blx@endunit}}
% [<wrapper>]{<string>}
@@ -4805,7 +4926,7 @@
\protected\def\blx@bibncpstring#1#2#3{%
\blx@met@bibstring{#1}{#2}{#3}
- {#1{\csuse{#2@\blx@tempa}}%
+ {\blx@wrapbibstring{#1}{\blx@tempa}{\csuse{#2@\blx@tempa}}%
\blx@endunit}}
% [<wrapper>]{<string>}
@@ -4820,7 +4941,7 @@
\protected\def\blx@bibcpstring#1#2#3{%
\blx@met@bibstring{#1}{#2}{#3}
- {#1{\MakeCapital{\csuse{#2@\blx@tempa}}}%
+ {\blx@wrapbibstring{#1}{\blx@tempa}{\MakeCapital{\csuse{#2@\blx@tempa}}}%
\blx@endunit}}
% [<wrapper>]{<string>}
@@ -4835,7 +4956,7 @@
\protected\def\blx@biblcstring#1#2#3{%
\blx@met@bibstring{#1}{#2}{#3}
- {#1{\blx@maketext@lowercase{\csuse{#2@\blx@tempa}}}%
+ {\blx@wrapbibstring{#1}{\blx@tempa}{\blx@maketext@lowercase{\csuse{#2@\blx@tempa}}}%
\blx@endunit}}
% [<wrapper>]{<string>}
@@ -4850,7 +4971,7 @@
\protected\def\blx@bibucstring#1#2#3{%
\blx@met@bibstring{#1}{#2}{#3}
- {#1{\blx@maketext@uppercase{\csuse{#2@\blx@tempa}}}%
+ {\blx@wrapbibstring{#1}{\blx@tempa}{\blx@maketext@uppercase{\csuse{#2@\blx@tempa}}}%
\blx@endunit}}
% {<string>}
@@ -5259,10 +5380,12 @@
\do{langlatin}%
\do{langlatvian}%
\do{langlithuanian}%
+ \do{langmarathi}%
\do{langnorwegian}%
\do{langpolish}%
\do{langportuguese}%
\do{langserbian}%
+ \do{langromanian}%
\do{langrussian}%
\do{langslovak}%
\do{langslovene}%
@@ -5292,9 +5415,11 @@
\do{fromlatin}%
\do{fromlithuanian}%
\do{fromlatvian}%
+ \do{frommarathi}%
\do{fromnorwegian}%
\do{frompolish}%
\do{fromportuguese}%
+ \do{fromromanian}%
\do{fromrussian}%
\do{fromserbian}%
\do{fromslovak}%
@@ -5330,6 +5455,23 @@
\do{summer}%
\do{autumn}%
\do{winter}%
+ \do{springN}%
+ \do{summerN}%
+ \do{autumnN}%
+ \do{winterN}%
+ \do{springS}%
+ \do{summerS}%
+ \do{autumnS}%
+ \do{winterS}%
+ \do{Q1}%
+ \do{Q2}%
+ \do{Q3}%
+ \do{Q4}%
+ \do{QD1}%
+ \do{QD2}%
+ \do{QD3}%
+ \do{S1}%
+ \do{S2}%
\do{am}%
\do{pm}%
}
@@ -5800,13 +5942,13 @@
{\blx@nounit}
{\printtext[{#2date}]{%
\datecircaprint
- % Such a season component can only come from an ISO8601 season which replaces
+ % Such a year division component can only come from an ISO8601 year division which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
- \iffieldundef{#2season}
+ \iffieldundef{#2yeardivision}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
% Optionally print the time after the date
\blx@printtime{#2}{}}
- {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+ {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}%
\dateuncertainprint
\dateeraprint{#2year}%
\iffieldundef{#2endyear}
@@ -5815,11 +5957,11 @@
{\mbox{\bibdaterangesep}}
{\bibdaterangesep
\enddatecircaprint
- \iffieldundef{#2endseason}
+ \iffieldundef{#2endyeardivision}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
% Optionally print the time after the date
\blx@printtime{#2}{end}}
- {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+ {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}%
\endgroup}
@@ -5831,13 +5973,13 @@
{\blx@nounit}
{\printtext[{#2date}]{%
\datecircaprint
- % Such a season component can only come from an ISO8601 season which replaces
+ % Such a year division component can only come from an ISO8601 year division which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
- \iffieldundef{#2season}
+ \iffieldundef{#2yeardivision}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
% Optionally print the time after the date
\blx@printtime{#2}{}}
- {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+ {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}%
\dateuncertainprint
\dateeraprint{#2year}%
\iffieldundef{#2endyear}
@@ -5847,11 +5989,11 @@
\mbox{\bibdaterangesep}}
{\bibdaterangesep
\enddatecircaprint
- \iffieldundef{#2endseason}
+ \iffieldundef{#2endyeardivision}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
% Optionally print the time after the date
\blx@printtime{#2}{end}}
- {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}%
\printfield{extradate}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}%
@@ -5869,9 +6011,9 @@
{\blx@nounit}
{\printtext[{#2date}]{%
\datecircaprint
- % Such a season component can only come from an ISO8601 season which replaces
+ % Such a year division component can only come from an ISO8601 year division which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
- \iffieldundef{#2season}
+ \iffieldundef{#2yeardivision}
{\ifdateyearsequal{#2}{#2end}
{\iffieldsequal{#2month}{#2endmonth}
{\csuse{mkbibdate#1}{}{}{#2day}}
@@ -5880,8 +6022,8 @@
\iffieldsequal{#2dateera}{#2enddateera}{}
{\dateeraprint{#2year}}}}
{\ifdateyearsequal{#2}{#2end}
- {\csuse{mkbibseasondate#1}{}{#2season}}
- {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}
+ {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}%
\iffieldsequal{#2dateera}{#2enddateera}{}
{\dateeraprint{#2year}}}}%
\dateuncertainprint
@@ -5891,9 +6033,9 @@
{\mbox{\bibdaterangesep}}
{\bibdaterangesep
\enddatecircaprint
- \iffieldundef{#2endseason}
+ \iffieldundef{#2endyeardivision}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
- {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+ {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}%
\endgroup}
@@ -5910,9 +6052,9 @@
{\blx@nounit}
{\printtext[{#2date}]{%
\datecircaprint
- % Such a season component can only come from an ISO8601 season which replaces
+ % Such a year division component can only come from an ISO8601 year division which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
- \iffieldundef{#2season}
+ \iffieldundef{#2yeardivision}
{\ifdateyearsequal{#2}{#2end}
{\iffieldsequal{#2month}{#2endmonth}
{\csuse{mkbibdate#1}{}{}{#2day}}
@@ -5921,8 +6063,8 @@
\iffieldsequal{#2dateera}{#2enddateera}{}
{\dateeraprint{#2year}}}}
{\ifdateyearsequal{#2}{#2end}
- {\csuse{mkbibseasondate#1}{}{#2season}}
- {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}
+ {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}%
\iffieldsequal{#2dateera}{#2enddateera}{}
{\dateeraprint{#2year}}}}%
\dateuncertainprint
@@ -5933,9 +6075,9 @@
\mbox{\bibdaterangesep}}
{\bibdaterangesep
\enddatecircaprint
- \iffieldundef{#2endseason}
+ \iffieldundef{#2endyeardivision}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
- {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}%
\printfield{extradate}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}%
@@ -5943,14 +6085,14 @@
\newrobustcmd*{\mkdaterangeyear}[1]{%
\begingroup
- \blx@imc@clearfield{#1season}%
+ \blx@imc@clearfield{#1yeardivision}%
\blx@imc@clearfield{#1month}%
\blx@imc@clearfield{#1day}%
\blx@imc@clearfield{#1hour}%
\blx@imc@clearfield{#1minute}%
\blx@imc@clearfield{#1second}%
\blx@imc@clearfield{#1timezone}%
- \blx@imc@clearfield{#1endseason}%
+ \blx@imc@clearfield{#1endyeardivision}%
\blx@imc@clearfield{#1endmonth}%
\blx@imc@clearfield{#1endday}%
\blx@imc@clearfield{#1endhour}%
@@ -5971,13 +6113,13 @@
{\blx@nounit}
{\printtext[{#1date}]{%
\datecircaprint
- % Such a season component can only come from an ISO8601 season which replaces
+ % Such a year division component can only come from an ISO8601 year division which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
- \iffieldundef{#1season}
+ \iffieldundef{#1yeardivision}
{\blx@ymddate{#1}{}%
% Optionally print the time after the date
\blx@printtime{#1}{}}
- {\csuse{mkbibseasondateshort}{#1year}{#1season}}%
+ {\csuse{mkbibyeardivisiondateshort}{#1year}{#1yeardivision}}%
\dateuncertainprint
\dateeraprint{#1year}%
\iffieldundef{#1endyear}
@@ -5986,11 +6128,11 @@
{\mbox{\bibdaterangesep}}
{\bibdaterangesep
\enddatecircaprint
- \iffieldundef{#1season}
+ \iffieldundef{#1yeardivision}
{\blx@ymddate{#1}{end}%
% Optionally print the time after the date
\blx@printtime{#1}{end}}
- {\csuse{mkbibseasondateshort}{#1endyear}{#1endseason}}%
+ {\csuse{mkbibyeardivisiondateshort}{#1endyear}{#1endyeardivision}}%
\enddateuncertainprint
\dateeraprint{#1endyear}}}}}%
\endgroup}
@@ -6003,13 +6145,13 @@
{\blx@nounit}
{\printtext[{#1date}]{%
\datecircaprint
- % Such a season component can only come from an ISO8601 season which replaces
+ % Such a year division component can only come from an ISO8601 year division which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
- \iffieldundef{#1season}
+ \iffieldundef{#1yeardivision}
{\blx@ymddate[extradate]{#1}{}%
% Optionally print the time after the date
\blx@printtime{#1}{}}
- {\csuse{mkbibseasondateshort}{#1year}{#1season}}%
+ {\csuse{mkbibyeardivisiondateshort}{#1year}{#1yeardivision}}%
\dateuncertainprint
\dateeraprint{#1year}%
\iffieldundef{#1endyear}
@@ -6018,11 +6160,11 @@
{\mbox{\bibdaterangesep}}
{\bibdaterangesep
\enddatecircaprint
- \iffieldundef{#1season}
+ \iffieldundef{#1yeardivision}
{\blx@ymddate{#1}{end}%
% Optionally print the time after the date
\blx@printtime{#1}{end}}
- {\csuse{mkbibseasondateshort}{#1endyear}{#1endseason}}}%
+ {\csuse{mkbibyeardivisiondateshort}{#1endyear}{#1endyeardivision}}}%
\enddateuncertainprint
\dateeraprint{#1endyear}}}}%
\endgroup}
@@ -6036,14 +6178,14 @@
\newrobustcmd*{\mkdaterangeyearextra}[1]{%
\begingroup
- \blx@imc@clearfield{#1season}%
+ \blx@imc@clearfield{#1yeardivision}%
\blx@imc@clearfield{#1month}%
\blx@imc@clearfield{#1day}%
\blx@imc@clearfield{#1hour}%
\blx@imc@clearfield{#1minute}%
\blx@imc@clearfield{#1second}%
\blx@imc@clearfield{#1timezone}%
- \blx@imc@clearfield{#1endseason}%
+ \blx@imc@clearfield{#1endyeardivision}%
\blx@imc@clearfield{#1endmonth}%
\blx@imc@clearfield{#1endday}%
\blx@imc@clearfield{#1endhour}%
@@ -6124,14 +6266,14 @@
\newrobustcmd*{\blx@isodate}[3][]{%
\dateeraprintpre{#2#3year}%
\blx@imc@forcezerosy{\thefield{#2#3year}}\ifblank{#1}{}{\printfield{#1}}%
- % Such a season component can only come from an ISO8601 season which replaces
+ % Such a year division component can only come from an ISO8601 year division which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
- \iffieldundef{#2#3season}
+ \iffieldundef{#2#3yeardivision}
{\iffieldundef{#2#3month}{}{\hyphen\blx@imc@forcezerosmdt{\thefield{#2#3month}}}%
\iffieldundef{#2#3day}{}{\hyphen\blx@imc@forcezerosmdt{\thefield{#2#3day}}}}
- {\hyphen\blx@seasonmap{\thefield{#2#3season}}}}
+ {\hyphen\blx@yeardivisionmap{\thefield{#2#3yeardivision}}}}
-\def\blx@seasonmap#1{%
+\def\blx@yeardivisionmap#1{%
\blx@xifstrequal{#1}{spring}{21}
{\blx@xifstrequal{#1}{summer}{22}
{\blx@xifstrequal{#1}{autumn}{23}
@@ -6259,29 +6401,39 @@
{\space\bibtimezonesep
\mkbibparens{\mkbibtimezone{\thefield{#4}}}}}
-\newrobustcmd*{\mkbibseasondateshort}[2]{%
+\newrobustcmd*{\mkbibyeardivisiondateshort}[2]{%
\blx@warning@noline{%
- Using fallback definition for \string\mkbibseasondateshort.\MessageBreak
+ Using fallback definition for \string\mkbibyeardivisiondateshort.\MessageBreak
The command should be defined in the .lbx file.\MessageBreak
If you see this message, the .lbx file could not be\MessageBreak
loaded, is faulty or does not contain a definition\MessageBreak
- for \string\mkbibseasondateshort
+ for \string\mkbibyeardivisiondateshort
}%
- \mkbibseason{\thefield{#2}}%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}
+\def\mkbibseasondateshort{% LEGACY
+ \blx@warning@noline{%
+ '\string\mkbibseasondateshort' is deprecated in favour of\MessageBreak
+ '\string\mkbibyeardivisiondateshort'}%
+ \mkbibyeardivisiondateshort}
-\newrobustcmd*{\mkbibseasondatelong}[2]{%
+\newrobustcmd*{\mkbibyeardivisiondatelong}[2]{%
\blx@warning@noline{%
- Using fallback definition for \string\mkbibseasondatelong.\MessageBreak
+ Using fallback definition for \string\mkbibyeardivisiondatelong.\MessageBreak
The command should be defined in the .lbx file.\MessageBreak
If you see this message, the .lbx file could not be\MessageBreak
loaded, is faulty or does not contain a definition\MessageBreak
- for \string\mkbibseasondatelong
+ for \string\mkbibyeardivisiondatelong
}%
- \mkbibseason{\thefield{#2}}%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}
+\def\mkbibseasondatelong{% LEGACY
+ \blx@warning@noline{%
+ '\string\mkbibseasondatelong' is deprecated in favour of\MessageBreak
+ '\string\mkbibyeardivisiondatelong'}%
+ \mkbibyeardivisiondatelong}
\newrobustcmd*{\bibdatedash}{\bibrangedash}
\newrobustcmd*{\finalandcomma}{}
@@ -6300,7 +6452,12 @@
\newrobustcmd*{\mkbibfemord}{\mkbibordinal}
\newrobustcmd*{\mkbibneutord}{\mkbibordinal}
% the following is usually not redefined in an .lbx
-\newrobustcmd*{\mkbibseason}[1]{\abx@bibseason{#1}}
+\newrobustcmd*{\mkbibyeardivision}[1]{\abx@bibyeardivision{#1}}
+\newrobustcmd*\mkbibseason{% LEGACY
+ \blx@warning@noline{%
+ '\string\mkbibseason' is deprecated in favour of\MessageBreak
+ '\string\mkbibyeardivision'}%
+ \mkbibyeardivision}
\newrobustcmd*{\mkbibmonth}[1]{%
\ifcase0#1\relax
\blx@warning@entry{Month out of range or not an integer}%
@@ -6455,6 +6612,7 @@
\let\blx@hook@initlang\@empty
\let\blx@imc@mainlang\@empty
\let\blx@imc@textmainlang\@firstofone
+\let\blx@imc@textouterlang\@firstofone
\def\blx@hyphenreset{%
\blx@ifhyphenationundef{\blx@languagename}
{}
@@ -6475,6 +6633,7 @@
{No default 'babel' language defined}
{You must define a default language for 'babel'}}
{\let\blx@main@language\bbl@main@language}%
+ \let\blx@outer@language\blx@main@language
% use afterreset to get in a bit earlier
% we want to be there before \captions... is issued
% beforeextras is before extras, but captions come before extras
@@ -6486,6 +6645,11 @@
{\def\blx@beglang{%
\blx@clearlang
\begingroup
+ % track outer language (i.e. language not selected by biblatex)
+ \ifundef\blx@outer@language@set
+ {\let\blx@outer@language\blx@languagename
+ \let\blx@outer@language@set\@empty}
+ {}%
% Need to override all entries, regardless of if there is a
% langid if language=<language> option is given
\ifboolexpr { test {\ifdef\abx@field@langid }
@@ -6528,6 +6692,8 @@
\expandafter\selectlanguage\expandafter{\blx@main@language}}%
\def\blx@imc@textmainlang##1{%
{{\expandafter\selectlanguage\expandafter{\blx@main@language}##1}}}%
+ \def\blx@imc@textouterlang##1{%
+ {{\expandafter\selectlanguage\expandafter{\blx@outer@language}##1}}}%
\expandafter\blx@langsetup@from@pkglist\expandafter{\blx@main@language}%
}
@@ -6541,6 +6707,7 @@
{You must define a default language for 'polyglossia'}}
{\let\blx@main@language\bbl@main@language}}
{\let\blx@main@language\mainbabelname}%
+ \let\blx@outer@language\blx@main@language
\ifundef\polyglossia@language@switched
{\apptocmd\select@language
{\expandafter\blx@langsetup@indoc\expandafter{\babelname}}
@@ -6553,6 +6720,11 @@
{\def\blx@beglang{%
\blx@clearlang
\begingroup
+ % track outer language (i.e. language not selected by biblatex)
+ \ifundef\blx@outer@language@set
+ {\let\blx@outer@language\blx@languagename
+ \let\blx@outer@language@set\@empty}
+ {}%
% Need to override all entries, regardless of if there is a
% langid if language=<language> option is given
\ifboolexpr { test {\ifdef\abx@field@langid }
@@ -6603,6 +6775,7 @@
{}%
\select@language{\blx@main@language}}%
\def\blx@imc@textmainlang##1{{{\select@language{\blx@main@language}##1}}}%
+ \def\blx@imc@textouterlang##1{{{\select@language{\blx@outer@language}##1}}}%
\expandafter\blx@langsetup@from@pkglist\expandafter{\blx@main@language}}
\def\blx@mknoautolang{%
@@ -6610,7 +6783,7 @@
{}
{\blx@err@nolang{\blx@languagename}}}
-\blx@regimcs{\mainlang \textmainlang}
+\blx@regimcs{\mainlang \textmainlang \textouterlang}
\newrobustcmd*{\DeclareRedundantLanguages}[2]{%
\begingroup
@@ -6962,6 +7135,7 @@
\listxadd\blx@datemetafields{#1dateunspecified}}
\abx@dodatetypes
+
\def\do#1{%
\listxadd\blx@datemetabooleans{#1datecirca}%
\listxadd\blx@datemetabooleans{#1enddatecirca}%
@@ -7003,8 +7177,8 @@
\do{labelendsecond}%
\do{labeltimezone}%
\do{labelendtimezone}%
- \do{labelseason}%
- \do{labelendseason}%
+ \do{labelyeardivision}%
+ \do{labelendyeardivision}%
\do{entrykey}%
\do{entryset}%
\do{entrysetcount}%
@@ -8120,8 +8294,8 @@
\letcs\abx@field@labelendsecond{abx@field@\abx@field@labeldatesource endsecond}%
\letcs\abx@field@labeltimezone{abx@field@\abx@field@labeldatesource timezone}%
\letcs\abx@field@labelendtimezone{abx@field@\abx@field@labeldatesource endtimezone}%
- \letcs\abx@field@labelseason{abx@field@\abx@field@labeldatesource season}%
- \letcs\abx@field@labelendseason{abx@field@\abx@field@labeldatesource endseason}%
+ \letcs\abx@field@labelyeardivision{abx@field@\abx@field@labeldatesource yeardivision}%
+ \letcs\abx@field@labelendyeardivision{abx@field@\abx@field@labeldatesource endyeardivision}%
\letcs\abx@field@labeldateunspecified{abx@field@\abx@field@labeldatesource dateunspecified}%
\letcs\etb@tgl@abx@bool@labeldatecirca{etb@tgl@abx@bool@\abx@field@labeldatesource datecirca}%
\letcs\etb@tgl@abx@bool@labelenddatecirca{etb@tgl@abx@bool@\abx@field@labeldatesource enddatecirca}%
@@ -8244,7 +8418,7 @@
% so that biber can correctly use and resolve them too.
\protected\def\blx@bbl@keyalias#1#2{%
\csxdef{blx@keyalias@\the\c@refsection @#1}{\detokenize{#2}}%
- \listcsgadd{blx@keyaliases@\the\c@refsection}{#1}}
+ \listcsxadd{blx@keyaliases@\the\c@refsection}{\detokenize{#1}}}
% blx@dlist@list@<section>@<refcontext> - a list of list items in a refcontext in a
% section (for tracking bibliography lists,
@@ -8266,7 +8440,7 @@
\blx@setoptions@entry
\edef\blx@bbl@data{blx@data@\the\c@refsection @\blx@dlist@name @\abx@field@entrykey}%
\blx@bbl@addfield{entrykey}{\abx@field@entrykey}%
- \listxadd\blx@entries{\abx@field@entrykey}%
+ \listcsxadd{blx@entries@\the\c@refsection}{\abx@field@entrykey}%
\blx@bbl@addfield{entrytype}{#2}%
\csuse\blx@bbl@data
\blx@imc@iffieldundef{options}
@@ -8284,14 +8458,14 @@
\toggletrue{blx@skipbib}%
\toggletrue{blx@skipbiblist}%
\toggletrue{blx@skiplab}}%
- \nottoggle{blx@skipbib}
- {\expandafter\ifstrequal\expandafter{\blx@dlist@type}{entry}
+ \expandafter\ifstrequal\expandafter{\blx@dlist@type}{entry}
+ {\listcsxadd{blx@type@\the\c@refsection @\abx@field@entrytype}{\abx@field@entrykey}%
+ \ifdef\abx@field@entrysubtype
+ {\listcsxadd{blx@subt@\the\c@refsection @\abx@field@entrysubtype}{\abx@field@entrykey}}
+ {}%
+ \nottoggle{blx@skipbib}
{\listcsxadd{blx@dlist@entry@\the\c@refsection @\blx@dlist@name}{\abx@field@entrykey}%
- \listcsxadd{blx@dlist@centry@\the\c@refsection @\blx@dlist@name}{\abx@field@entrykey}%
- \listcsxadd{blx@type@\the\c@refsection @\abx@field@entrytype}{\abx@field@entrykey}%
- \ifdef\abx@field@entrysubtype
- {\listcsxadd{blx@subt@\the\c@refsection @\abx@field@entrysubtype}{\abx@field@entrykey}}
- {}}
+ \listcsxadd{blx@dlist@centry@\the\c@refsection @\blx@dlist@name}{\abx@field@entrykey}}
{}}%
{}%
\nottoggle{blx@skipbiblist}
@@ -8361,13 +8535,11 @@
\csgdef{blx@locallabelwidth@#1@#2}{#3}}
\def\blx@locallabelwidth@write@length#1{%
- \ifdimequal{\csname local#1width\endcsname}{0pt}
- {}
- {\blx@auxwrite\@mainaux{}
- {\string\abx@aux@locallabelwidth
- {\the\blx@biblioinstance}%
- {#1}%
- {\the\csname local#1width\endcsname}}}}
+ \blx@auxwrite\@mainaux{}
+ {\string\abx@aux@locallabelwidth
+ {\the\blx@biblioinstance}%
+ {#1}%
+ {\the\csname local#1width\endcsname}}}
\def\blx@locallabelwidth@write{%
\let\do\blx@locallabelwidth@write@length
@@ -8603,21 +8775,39 @@
\let\annotation\blx@bbl@annotationdef}
\def\blx@bblend{%
+ \def\blx@do@outer##1{%
+ \ifcsundef{blx@prelim@lastcites@##1}
+ {}
+ {\def\blx@do@inner####1{%
+ \ifinlistcs{####1}{blx@keyaliases@##1}
+ {\listcsxadd{blx@lastcites@##1}
+ {\csuse{blx@keyalias@##1@####1}}}
+ {\listcsgadd{blx@lastcites@##1}{####1}}}%
+ \forlistcsloop\blx@do@inner{blx@prelim@lastcites@##1}}}%
+ \forlistloop\blx@do@outer\blx@alllastrefsections
% Special warning for defernumbers when a citation cannot be found
\iftoggle{blx@defernumbers}
- {\def\do##1{\ifinlist{##1}\blx@entries
- {}
- {\blx@warning@noline{%
- citation '##1' was not found at all in the .bbl, bibliography labels cannot be generated, please correct the citation}}}%
- \dolistloop\blx@lastcites}
+ {\def\blx@do@outer##1{%
+ \ifcsundef{blx@lastcites@##1}
+ {}
+ {\def\blx@do@inner####1{%
+ \ifinlistcs{####1}{blx@entries@##1}
+ {}
+ {\blx@warning@noline{%
+ citation '####1'\MessageBreak
+ was not found at all in the .bbl file,\MessageBreak
+ bibliography labels cannot be generated,\MessageBreak
+ please correct the citation}}}%
+ \forlistcsloop\blx@do@inner{blx@lastcites@##1}}}%
+ \forlistloop\blx@do@outer\blx@alllastrefsections}
{}}
% {<entrykey>}
% Get the saved information on which citations were mentioned last run
-\protected\def\abx@aux@cite#1{%
- \xifinlist{\detokenize{#1}}\blx@lastcites
+\protected\def\abx@aux@cite#1#2{%
+ \xifinlistcs{\detokenize{#2}}{blx@prelim@lastcites@#1}
{}
- {\listxadd\blx@lastcites{\detokenize{#1}}}}
+ {\listcsxadd{blx@prelim@lastcites@#1}{\detokenize{#2}}}}
% {<refcontext>}
% Get the saved information on which refcontexts were mentioned last run
@@ -8637,7 +8827,7 @@
% .aux file as this means that deferred numbering is
% complete. Otherwise we get in an endless rerun loop because the
% checksum due to number changes is always different.
-\AtEndDocument{%
+\blx@AtEndDocument{%
\def\abx@aux@number#1#2#3#4#5{%
\ifblank{#5}
{}
@@ -8645,7 +8835,7 @@
{\blx@addchecksum{#1}{#5}}
{}}}}
-\AtEndDocument{%
+\blx@AtEndDocument{%
% Here we run some tests to decide if we need to issue re-run
% messages in certain circumstances. In general, if we add/remove
% any citations or add/remove any sorting templates, we need to re-run
@@ -8656,15 +8846,29 @@
% information which are no longer in the .bbl. This is to catch
% when .bib entries are removed when using \nocite{*}. In this case,
% We need another run to remove the .aux localnumber info
- \def\do#1{\xifinlist{#1}\blx@entries{}{\blx@rerun@latex}}%
- \dolistloop\blx@localnumbers
+ \def\blx@do@outer#1{%
+ \def\blx@do@inner##1{%
+ \xifinlistcs{##1}{blx@entries@#1}
+ {}
+ {\blx@rerun@latex
+ \listbreak}}%
+ \forlistloop\blx@do@inner\blx@localnumbers}%
+ \forlistloop\blx@do@outer\blx@allrefsections
% Test to see if we *removed* any citations since last run
% (adding citations is dealt with naturally in \blx@citation@entry)
% If so, give a rerun biber message. This also sets the
% rerun biber toggle so defernums doesn't consume the localnumbers
% in the .aux but instead, re-writes them, which is what we need.
- \def\do#1{\ifinlist{#1}\blx@cites{}{\blx@logreq@active{}}\relax}%
- \dolistloop\blx@lastcites
+ \def\blx@do@outer#1{%
+ \ifcsundef{blx@lastcites@#1}
+ {}
+ {\def\blx@do@inner##1{%
+ \ifinlistcs{##1}{blx@cites@#1}
+ {}
+ {\blx@logreq@active{}%
+ \listbreak}}%
+ \forlistcsloop\blx@do@inner{blx@lastcites@#1}}}%
+ \forlistloop\blx@do@outer\blx@alllastrefsections
% Special case - if we are using sortingtemplate with \citeorder anywhere,
% then changes in citation order matter and we need to re-run biber.
% So a special test to see if the cites from last run are identical in order.
@@ -8681,10 +8885,36 @@
\listbreak}}%
\dolistloop\blx@sortingtemplatenames
\iftoggle{blx@tempa}
- {\ifdefstrequal{\blx@cites}{\blx@lastcites}
- {}
- {\blx@logreq@active{}}}
+ {\ifdefstrequal\blx@allrefsections\blx@alllastrefsections
+ {\def\do#1{%
+ \ifcsundef{blx@cites@#1}
+ {\cslet{blx@cites@#1}\@empty}
+ {}%
+ \ifcsundef{blx@lastcites@#1}
+ {\cslet{blx@lastcites@#1}\@empty}
+ {}%
+ \ifcsstrequal{blx@cites@#1}{blx@lastcites@#1}
+ {}
+ {\blx@logreq@active{}%
+ \listbreak}}%
+ \dolistloop\blx@allrefsections}
+ {\blx@logreq@active{}}}
{}%
+ % if citecount is enabled we pass the counter on to Biber via the bcf
+ % for sorting, we need to rerun if anything here changed
+ \ifundef\blx@citecounter
+ {}
+ {\def\blx@do@outer#1{%
+ \ifcsundef{blx@cites@#1}
+ {}
+ {\def\blx@do@inner##1{%
+ \ifnumequal{0\csuse{blx@currcount@#1@\detokenize{##1}}}
+ {0\csuse{blx@count@#1@\detokenize{##1}}}
+ {}
+ {\blx@logreq@active{}%
+ \listbreak}}%
+ \forlistcsloop\blx@do@inner{blx@cites@#1}}}%
+ \forlistloop\blx@do@outer\blx@allrefsections}%
% Test if we removed any mention of a reference context since last run
% If we did, we need to re-run biber
\def\do#1{\ifinlist{#1}\blx@refcontexts{}{\blx@logreq@active{}}\relax}%
@@ -8729,7 +8959,9 @@
\blx@bbl@addentryfield{\detokenize{#2}}{#3}{localnumber}{#4}{#5}%
\blx@bbl@addentryfield{\detokenize{#2}}{#3}{labelnumber}{#4}{#5}%
\csgdef{blx@localnumber@#3@\detokenize{#2}}{#5}%
- \xifinlist{\detokenize{#2}}\blx@localnumbers{}{\listxadd\blx@localnumbers{\detokenize{#2}}}%
+ \xifinlistcs{\detokenize{#2}}{blx@localnumbers@#3}
+ {}
+ {\listcsxadd{blx@localnumbers@#3}{\detokenize{#2}}}%
\global\toggletrue{blx@localnumber}%
\ifblank{#5}
{}
@@ -8894,7 +9126,10 @@
% {<name>}{<text>}
\newrobustcmd*{\defbibnote}[1]{%
- \long\csdef{blx@note@#1}}
+ \blx@defbibnote{#1}}
+
+\long\def\blx@defbibnote#1#2{%
+ \long\csdef{blx@note@#1}{#2}}
% {<name>}{<code>}
\newrobustcmd*{\defbibfilter}[2]{%
@@ -9375,7 +9610,7 @@
\newrobustcmd*{\bibbysection}{%
\begingroup
\delimcontext{bib}%
- \ifnum\blx@maxsection=\z@
+ \ifnum\c@blx@maxsection=\z@
\blx@warning{No reference sections found}%
\fi
\edef\on@line{\on@line}%
@@ -9403,7 +9638,7 @@
{\toggletrue{blx@tempa}%
\begingroup
\expandafter\blx@bibliography\csname blx@dlist@entry@\the\c@refsection @\blx@refcontext@context\endcsname}%
- \ifnum\c@refsection<\blx@maxsection
+ \ifnum\c@refsection<\c@blx@maxsection
\advance\c@refsection\@ne
\expandafter\blx@refsections
\else
@@ -9416,7 +9651,7 @@
\begingroup
\delimcontext{bib}%
\edef\on@line{\on@line}%
- \ifnum\csname blx@maxsegment@\the\c@refsection\endcsname=\z@
+ \ifnum\csname c@blx@maxsegment@\the\c@refsection\endcsname=\z@
\blx@warning{No reference segments found}%
\fi
\@ifnextchar[%]
@@ -9448,7 +9683,7 @@
{\letcs\blx@tempa{blx@dlist@entry@\the\c@refsection @\blx@refcontext@context}}%
\blx@filter\blx@tempa{blx@segm@\the\c@refsection @\the\c@refsegment}%
\blx@bibliography\blx@tempa}%
- \ifnum\c@refsegment<\csname blx@maxsegment@\the\c@refsection\endcsname
+ \ifnum\c@refsegment<\csname c@blx@maxsegment@\the\c@refsection\endcsname
\advance\c@refsegment\@ne
\expandafter\blx@refsegments
\else
@@ -9632,35 +9867,31 @@
% bibliography list in standard cases where entries are not listed in
% multiple bibliographies
\def\blx@setdefaultrefcontext#1{%
- \ifbool{refcontextdefaults}
- {\blx@rerun@latex}%
- {}%
\ifinlistcs{#1}{blx@defaultrefcontexts@\the\c@refsection}
{}
{\listcsgadd{blx@defaultrefcontexts@\the\c@refsection}{#1}}%
- \csxdef{blx@assignedrefcontextbib@\the\c@refsection @#1}{\blx@refcontext@context}}
+ \global\cslet{blx@assignedrefcontextbib@\the\c@refsection @#1}%
+ \blx@refcontext@context}
% <refsection><key><refcontext>
\def\abx@aux@defaultrefcontext#1#2#3{%
- \global\boolfalse{refcontextdefaults}%
- \csxdef{blx@assignedrefcontextbib@#1@#2}{\detokenize{#3}}}
-\def\abx@aux@refcontextdefaultsdone{%
- \global\boolfalse{refcontextdefaults}}
+ \csxdef{blx@assignedrefcontextbib@aux@#1@#2}{\detokenize{#3}}}
% \abx@aux@defaultlabelprefix is a dummy only used by BibTeX to implement a
% simple labelprefix not based on full refcontexts, which BibTeX does not
% support.
\let\abx@aux@defaultlabelprefix\@gobblethree
-\AtEndDocument{%
- % write the .aux to say we don't need to re-run to consume refcontext defaults
- \ifbool{refcontextdefaults}
- {}
- {\blx@auxwrite\@mainaux{}{\string\abx@aux@refcontextdefaultsdone}}%
+\blx@AtEndDocument{%
% always add default refcontext declarations to .aux after biber run
\iftoggle{blx@bbldone}
{\def\do#1{%
\begingroup
\def\do##1{%
- \blx@auxwrite\@mainaux{}{\string\abx@aux@defaultrefcontext{#1}{##1}{\csuse{blx@assignedrefcontextbib@#1@##1}}}}%
+ \blx@auxwrite\@mainaux{}{\string\abx@aux@defaultrefcontext{#1}{##1}{%
+ \csuse{blx@assignedrefcontextbib@#1@##1}}}%
+ \ifcsequal{blx@assignedrefcontextbib@#1@##1}
+ {blx@assignedrefcontextbib@aux@#1@##1}
+ {}
+ {\blx@rerun@latex}}%
\dolistcsloop{blx@defaultrefcontexts@#1}%
\endgroup}
\dolistloop\blx@allrefsections}
@@ -9735,7 +9966,7 @@
\fi
\blx@addpagesum{#1}{#2}}
-\AtEndDocument{%
+\blx@AtEndDocument{%
\def\abx@aux@page#1#2{\blx@addpagesum{#1}{#2}}%
\def\abx@aux@fnpage#1#2{\blx@addpagesum{#1}{#2}}}
@@ -10156,16 +10387,16 @@
\def\blx@refsection@i[#1]{%
\endgroup
- \global\advance\blx@maxsection\@ne
- \global\c@refsection\blx@maxsection
+ \stepcounter{blx@maxsection}%
+ \setcounter{refsection}{\value{blx@maxsection}}%
\xifinlist{\the\c@refsection}\blx@allrefsections
{}
{\listxadd\blx@allrefsections{\the\c@refsection}}%
\ifcsdef{blx@defaultrefcontexts@\the\c@refsection}
{}
{\global\cslet{blx@defaultrefcontexts@\the\c@refsection}\@empty}%
- \expandafter\newcount\csname blx@maxsegment@\the\c@refsection\endcsname
- \expandafter\newcount\csname blx@sectionciteorder@\the\c@refsection\endcsname
+ \blx@providecounter{blx@maxsegment@\the\c@refsection}%
+ \blx@providecounter{blx@sectionciteorder@\the\c@refsection}%
\blx@inf@refsec
\blx@secinit
\if@filesw
@@ -10213,21 +10444,36 @@
\def\blx@endrefsection{%
\blx@endrefsegment
+ \blx@providecounter{blx@sectionciteorder@\the\c@refsection}%
% make sure we always output aliases to the .bcf otherwise after their
% first resolution by biber, they will be invisible to subsequent biber
% runs since biblatex will resolve the \keyalias{} macro to the main
% entry key, biber won't put \keyalias{}in the .bbl on subsequent runs
% and biblatex will report a missing citekey
\def\do##1{%
+ \blx@xmlsanitizeafter{\def\blx@tempa}{##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
- \ifcscounter{blx@sectionciteorder@\the\c@refsection}
- {}
- {\expandafter\newcount\csname blx@sectionciteorder@\the\c@refsection\endcsname}%
- \global\advance\csname blx@sectionciteorder@\the\c@refsection\endcsname\@ne
- \blx@auxwrite\blx@bcfout{}{\blx@xml@citekey{##1}{}{\expandafter\the\csname blx@sectionciteorder@\the\c@refsection\endcsname}}}%
- \dolistcsloop{blx@keyaliases@\the\c@refsection}%
+ \stepcounter{blx@sectionciteorder@\the\c@refsection}%
+ \blx@auxwrite\blx@bcfout{}{%
+ \blx@xml@citekey{\blx@tempa}{}
+ {\expandafter\the\csname c@blx@sectionciteorder@\the\c@refsection\endcsname}}}%
+ \ifcsundef{blx@keyaliases@\the\c@refsection}
+ {}
+ {\dolistcsloop{blx@keyaliases@\the\c@refsection}}%
+ % output key counts (for \citecount sorting) if citecounter option is not false
+ \ifcsundef{blx@cites@\the\c@refsection}
+ {}
+ {\ifundef\blx@citecounter
+ {}
+ {\def\do##1{%
+ \ifcsundef{blx@currcount@\the\c@refsection @##1}
+ {\csdef{blx@currcount@\the\c@refsection @##1}{0}}
+ {}%
+ \blx@auxwrite\blx@bcfout{}
+ {\blx@xml@citekeycount{##1}{\csuse{blx@currcount@\the\c@refsection @##1}}}}}%
+ \dolistcsloop{blx@cites@\the\c@refsection}}%
\ifnum\c@refsection>\z@
\blx@auxwrite\blx@bcfout{}{%
\blx@xml@endsection\blx@nl
@@ -10236,7 +10482,7 @@
\fi
\global\c@refsection\z@}
-\AtEndDocument{%
+\blx@AtEndDocument{%
\endrefcontext
% close non-0 refsection if active
\ifnum\c@refsection>\z@
@@ -10247,8 +10493,9 @@
\def\abx@aux@refsection#1#2{\blx@addchecksum{#1}{#2}}}
\protected\def\abx@aux@refsection#1#2{%
- \ifnum#1>\blx@maxsection
- \global\blx@maxsection#1\relax
+ \listgadd\blx@alllastrefsections{#1}%
+ \ifnum#1>\c@blx@maxsection
+ \setcounter{blx@maxsection}{#1}%
\fi
\blx@addchecksum{#1}{#2}}
@@ -10265,8 +10512,8 @@
\blx@err@nestenv{refsegment}%
\blx@endrefsegment
\fi
- \global\advance\csname blx@maxsegment@\the\c@refsection\endcsname\@ne
- \global\c@refsegment\csname blx@maxsegment@\the\c@refsection\endcsname
+ \stepcounter{blx@maxsegment@\the\c@refsection}%
+ \setcounter{refsegment}{\value{blx@maxsegment@\the\c@refsection}}%
\blx@inf@refseg
\blx@info{Setting label 'refsegment:\the\c@refsection\the\c@refsegment'}%
\label{refsegment:\the\c@refsection\the\c@refsegment}%
@@ -10599,7 +10846,7 @@
{}
{\listcsxadd{blx@catg@#1}{\detokenize{#2}}}}
-\AtEndDocument{\let\abx@aux@category\@gobbletwo}
+\blx@AtEndDocument{\let\abx@aux@category\@gobbletwo}
% [<options>]{<resource>,...}
\renewrobustcmd*{\bibliography}[1]{%
@@ -10829,10 +11076,10 @@
\def\blx@citation@entry#1#2{%
\blx@bibreq{#1}%
- \ifinlist{#1}\blx@cites
+ \ifinlistcs{#1}{blx@cites@\the\c@refsection}
{}
- {\listgadd{\blx@cites}{#1}}%
- \blx@auxwrite\@mainaux{}{\string\abx@aux@cite{#1}}%
+ {\listcsgadd{blx@cites@\the\c@refsection}{#1}}%
+ \blx@auxwrite\@mainaux{}{\string\abx@aux@cite{\the\c@refsection}{#1}}%
\ifinlistcs{#1}{blx@segm@\the\c@refsection @\the\c@refsegment}
{}
{\listcsgadd{blx@segm@\the\c@refsection @\the\c@refsegment}{#1}}%
@@ -10843,7 +11090,7 @@
{}
{\ifcsdef{blx@miss@\the\c@refsection}
{\ifinlistcs{#1}{blx@miss@\the\c@refsection}
- {}
+ {\@latex@warning{#2{#1}}}
{\blx@logreq@active{#2{#1}}}}
{\blx@logreq@active{#2{#1}}}}%
\blx@hook@entrykey{#1}}
@@ -10891,11 +11138,11 @@
% ignores all other citekeys in the section if citeall is present
\ifstrequal{*}{#1}
{\blx@auxwrite\blx@bcfout{}{\blx@xml@citekey{\blx@tempa}{\blx@tempb}{0}}}
- {\blx@auxwrite\blx@bcfout{}{\blx@xml@citekey{\blx@tempa}{\blx@tempb}{\expandafter\the\csname blx@sectionciteorder@\the\c@refsection\endcsname}}}%
+ {\blx@auxwrite\blx@bcfout{}{\blx@xml@citekey{\blx@tempa}{\blx@tempb}{%
+ \expandafter\the\csname c@blx@sectionciteorder@\the\c@refsection\endcsname}}}%
\endgroup}
% {<set>}{<key1,key2,key3>}
-
\newrobustcmd*{\defbibentryset}[2]{%
\@bsphack
\begingroup
@@ -10947,10 +11194,8 @@
% 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
- \ifcscounter{blx@sectionciteorder@\the\c@refsection}
- {}
- {\expandafter\newcount\csname blx@sectionciteorder@\the\c@refsection\endcsname}%
- \global\advance\csname blx@sectionciteorder@\the\c@refsection\endcsname\@ne
+ \blx@providecounter{blx@sectionciteorder@\the\c@refsection}%
+ \stepcounter{blx@sectionciteorder@\the\c@refsection}%
\blx@tempcnta\z@
\blx@tempcntb\z@
\let\blx@tempa\@empty
@@ -11018,8 +11263,8 @@
% made (a bit strangely but some styles do this) inside a biblist
% which never appear in any printed bib/biblist and therefore have no default
% refcontext defined
- \ifcsdef{blx@assignedrefcontextbib@\the\c@refsection @#1}
- {\letcs\blx@refcontext@context{blx@assignedrefcontextbib@\the\c@refsection @#1}}
+ \ifcsdef{blx@assignedrefcontextbib@aux@\the\c@refsection @#1}
+ {\letcs\blx@refcontext@context{blx@assignedrefcontextbib@aux@\the\c@refsection @#1}}
{\blx@edef@refcontext{\blx@sorting/global//global/global}}%
% assignment via keyword list
\ifdef\blx@assignedrefcontextkeywlist
@@ -11118,7 +11363,8 @@
\def\blx@citecounter@global{%
\ifbool{@filesw}
{\ifbool{citetracker}
- {\immediate\write\@mainaux{%
+ {\abx@curr@count{\the\c@refsection}{\abx@field@entrykey}%
+ \immediate\write\@mainaux{%
\string\abx@aux@count
{\the\c@refsection}{\abx@field@entrykey}}}
{}}
@@ -11127,7 +11373,11 @@
\def\blx@citecounter@context{%
\ifbool{@filesw}
{\ifbool{citetracker}
- {\immediate\write\@mainaux{%
+ {\iftoggle{blx@footnote}
+ {\abx@curr@fncount}
+ {\abx@curr@count}
+ {\the\c@refsection}{\abx@field@entrykey}%
+ \immediate\write\@mainaux{%
\iftoggle{blx@footnote}
{\string\abx@aux@fncount}
{\string\abx@aux@count}%
@@ -11169,9 +11419,22 @@
\let\abx@aux@count\@gobbletwo
\let\abx@aux@fncount\@gobbletwo
-\AtEndDocument{%
+\protected\def\blx@curr@count#1#2{%
+ \csnumgdef{blx@currcount@#1@#2}{%
+ \csuse{blx@currcount@#1@#2}+1}}
+
+\protected\def\blx@curr@fncount#1#2{%
+ \csnumgdef{blx@currfncount@#1@#2}{%
+ \csuse{blx@currfncount@#1@#2}+1}}
+
+\let\abx@curr@count\@gobbletwo
+\let\abx@curr@fncount\@gobbletwo
+
+\blx@AtEndDocument{%
\let\abx@aux@count\@gobbletwo
- \let\abx@aux@fncount\@gobbletwo}
+ \let\abx@aux@fncount\@gobbletwo
+ \let\abx@curr@count\@gobbletwo
+ \let\abx@curr@fncount\@gobbletwo}
\protected\def\blx@setcitecounter@global{%
\c@citecounter0%
@@ -11574,7 +11837,7 @@
{\listcsgadd{blx@pref@#3@\detokenize{#2}}{#4}}%
\blx@addpagesum{#1}{#5}}
-\AtEndDocument{%
+\blx@AtEndDocument{%
\def\abx@aux@backref#1#2#3#4#5{\blx@addpagesum{#1}{#5}}}
% {<true>}{<false>}
@@ -11650,10 +11913,8 @@
% 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
- \ifcscounter{blx@sectionciteorder@\the\c@refsection}
- {}
- {\expandafter\newcount\csname blx@sectionciteorder@\the\c@refsection\endcsname}%
- \global\advance\csname blx@sectionciteorder@\the\c@refsection\endcsname\@ne
+ \blx@providecounter{blx@sectionciteorder@\the\c@refsection}%
+ \stepcounter{blx@sectionciteorder@\the\c@refsection}%
\blx@nocitation{#1}\blx@msg@cundef}
% {<macro>}[<arg1>][<arg2>]{<arg3>}
@@ -11763,6 +12024,7 @@
\blx@tempa}
\def\blx@defcitecmd@i#1#2{%
+ \listadd\blx@citecmds{#2}%
\blx@checkcitecmd{#2}{#1}%
\protected\csdef{#2}{%
\blx@citecmdinit
@@ -11911,6 +12173,7 @@
\begingroup
\escapechar\m@ne
\edef\blx@tempa{\endgroup
+ \listadd\noexpand\blx@citecmds{\string#1}%
\protected\def\noexpand#1{%
\blx@citecmdinit
\noexpand\@ifstar
@@ -11930,7 +12193,8 @@
{\unexpanded{#2}}%
{\string#3####1}%
{\unexpanded{#4}}}%
- \protected\long\csdef{blx@mcitei@\string#1}}%
+ \protected\long\csdef{blx@mcitei@\string#1}%
+ }%
\blx@tempa##1##2##3{##1{##2}##3\endgroup}}
% {<command>}{<wrapper>}{<citecmd>}{<delimiter>} =>
@@ -12108,6 +12372,7 @@
\expandafter{\blx@autopunct}}%
\endgroup}
+\listadd\blx@citecmds{citename}
% [<prenote>][<postnote>]{<entrykey>,...}[<format>]{<namelist>}<punct>
\newrobustcmd*{\citename}{\blx@citexpunct{citename}}
\long\csdef{blx@cite@citename}#1#2#3#4#5#6{%
@@ -12136,6 +12401,8 @@
\blx@citeloop{#3}%
\endgroup}
+
+\listadd\blx@citecmds{citelist}
% [<prenote>][<postnote>]{<entrykey>,...}[<format>]{<list>}<punct>
\newrobustcmd*{\citelist}{\blx@citexpunct{citelist}}
\long\csdef{blx@cite@citelist}#1#2#3#4#5#6{%
@@ -12164,6 +12431,7 @@
\blx@citeloop{#3}%
\endgroup}
+\listadd\blx@citecmds{citefield}
% [<prenote>][<postnote>]{<entrykey>,...}[<format>]{<field>}<punct>
\newrobustcmd*{\citefield}{\blx@citexpunct{citefield}}
@@ -12494,7 +12762,7 @@
\protected\def\blx@errormark{%
\rule[0.25ex]{1.25ex}{1.25ex}}
-\AtEndDocument{%
+\blx@AtEndDocument{%
\unless\ifnum\blx@parenlevel@text=\z@
\blx@err@matchparen{%
Unbalanced parentheses or brackets in the document body}%
@@ -12789,6 +13057,13 @@
\xdef\blx@xml@nosort#1#2{%
~~~~<bcf:nosort field="#1" value="#2"/>\blx@nl}
+\xdef\blx@xml@nonamestrings#1{%
+ ~~<bcf:nonamestrings>\blx@nl
+ #1%
+ ~~</bcf:nonamestrings>\blx@nl}
+\xdef\blx@xml@nonamestring#1#2{%
+ ~~~~<bcf:nonamestring field="#1" value="#2"/>\blx@nl}
+
\xdef\blx@xml@noinits#1{%
~~<bcf:noinits>\blx@nl
#1%
@@ -12895,6 +13170,8 @@
~~~~<bcf:citekey order="#3"#2>#1</bcf:citekey>}
\xdef\blx@xml@citeset#1#2{%
~~~~<bcf:citekey type="set" members="#2">#1</bcf:citekey>}
+\xdef\blx@xml@citekeycount#1#2{%
+ ~~~~<bcf:citekeycount count="#2">#1</bcf:citekeycount>}
\xdef\blx@xml@svalue#1#2{%
\blx@xml@option{singlevalued}{%
~~~~~~<bcf:key>#1</bcf:key>\blx@nl
@@ -13175,6 +13452,13 @@
\blx@xml@nosorts{%
\csuse{blx@nosort}}}}%
{}%
+ % nonamestrings
+ \ifcsdef{blx@nonamestring}
+ {\eappto\blx@tempa{%
+ \blx@xml@comment{NONAMESTRING}%
+ \blx@xml@nonamestrings{%
+ \csuse{blx@nonamestring}}}}%
+ {}%
% transliteration
\ifdefempty\blx@translits
{}
@@ -13296,6 +13580,20 @@
\eappto\blx@tempa{%
\blx@xml@nosort{#1}{#2}}}
+% nonamestring
+\newrobustcmd*{\DeclareNonamestring}[1]{%
+ \begingroup
+ \let\nonamestring\blx@nonamestring@setup
+ \let\blx@tempa\@empty
+ #1%
+ \global\let\blx@nonamestring\blx@tempa
+ \endgroup}
+\@onlypreamble\DeclareNonamestring
+
+\newcommand*{\blx@nonamestring@setup}[2]{%
+ \eappto\blx@tempa{%
+ \blx@xml@nonamestring{#1}{#2}}}
+
% noinit
\newrobustcmd*{\DeclareNoinit}[1]{%
\begingroup
@@ -13562,6 +13860,10 @@
\appto\blx@tempf{ map\string_match="#1"}}
\blx@kv@defkey{blx@sourcemap@step}{matchi}{% characters
\appto\blx@tempf{ map\string_matchi="#1"}}
+\blx@kv@defkey{blx@sourcemap@step}{matches}{% characters
+ \appto\blx@tempf{ map\string_matches="#1"}}
+\blx@kv@defkey{blx@sourcemap@step}{matchesi}{% characters
+ \appto\blx@tempf{ map\string_matchesi="#1"}}
\blx@kv@defkey{blx@sourcemap@step}{notmatch}{% characters
\appto\blx@tempf{ map\string_notmatch="#1"}}
\blx@kv@defkey{blx@sourcemap@step}{notmatchi}{% characters
@@ -14011,6 +14313,8 @@
\def\citeorder{%
\global\cslet{blx@sortingtemplate@citeorder@relevant@#2}\@empty
\blx@sortdef@field{citeorder}}%
+ \def\citecount{%
+ \blx@sortdef@field{citecount}}%
\blx@tempcnta\z@
\let\blx@tempa\@empty
#3%
@@ -14345,8 +14649,8 @@
\DeclareBibliographyOption[string]{texencoding}{%
\ifstrequal{#1}{auto}
- {\undef\blx@texencoding}
- {\def\blx@texencoding{#1}}}
+ {\undef\blx@texencoding@fromoption}
+ {\def\blx@texencoding@fromoption{#1}}}
\DeclareBibliographyOption[string]{bibencoding}{%
\ifcsdef{blx@bibenc@#1}
@@ -14530,9 +14834,9 @@
\DeclareBiblatexOption{global,type,entry}[boolean]{dateabbrev}[true]{%
\ifstrequal{#1}{true}
{\let\abx@bibmonth\blx@imc@bibsstring
- \let\abx@bibseason\blx@imc@bibsstring}
+ \let\abx@bibyeardivision\blx@imc@bibsstring}
{\let\abx@bibmonth\blx@imc@biblstring
- \let\abx@bibseason\blx@imc@biblstring}}
+ \let\abx@bibyeardivision\blx@imc@biblstring}}
\DeclareBibliographyOption[string]{sortlocale}{%
\edef\blx@sortlocale{\detokenize{#1}}}
@@ -14797,18 +15101,25 @@
\let\blx@citecounter\blx@citecounter@global
\let\abx@aux@count\blx@aux@count
\let\abx@aux@fncount\blx@aux@fncount
+ \let\abx@curr@count\blx@curr@count
+ \let\abx@curr@fncount\blx@curr@fncount
\booltrue{citetracker}}
\def\blx@opt@citecounter@context{%
\let\blx@setcitecounter\blx@setcitecounter@context
\let\blx@citecounter\blx@citecounter@context
\let\abx@aux@count\blx@aux@count
\let\abx@aux@fncount\blx@aux@fncount
+ \let\abx@curr@count\blx@curr@count
+ \let\abx@curr@fncount\blx@curr@fncount
\booltrue{citetracker}}
\def\blx@opt@citecounter@false{%
\let\blx@setcitecounter\relax
\let\blx@citecounter\relax
\let\abx@aux@count\@gobbletwo
- \let\abx@aux@fncount\@gobbletwo}
+ \let\abx@aux@fncount\@gobbletwo
+ \let\abx@curr@count\@gobbletwo
+ \let\abx@curr@fncount\@gobbletwo
+ \boolfalse{citetracker}}
\DeclareBiblatexOption{global,type,entry}[string]{citetracker}[true]{%
\ifcsdef{blx@opt@citetracker@#1}
@@ -15133,10 +15444,8 @@
\blx@kv@setkeys{blx@opt@pre}{#1time=24h}%
% Boolean to determine if times are printed with dates
\newtoggle{blx@#1dateusetime}%
- \DeclareBibliographyOption[boolean]{#1dateusetime}{%
- \ifstrequal{##1}{true}
- {\toggletrue{blx@#1dateusetime}}
- {\togglefalse{blx@#1dateusetime}}}}
+ \DeclareBibliographyOption[boolean]{#1dateusetime}[true]{%
+ \settoggle{blx@#1dateusetime}{##1}}}
\abx@dodatetypes
\DeclareBibliographyOption[string]{alldatesusetime}{%
@@ -15418,8 +15727,15 @@
\edef\blx@tempa{%
\expandafter\blx@tempa\CurrentOption=&}%
\blx@kv@ifkeyundef{blx@opt@ldt}{\blx@tempa}
- {\endgroup
- \eappto\blx@theoptions{\CurrentOption,}}
+ {% now it becomes messy,
+ % we need to intercept the bibtexcaseprotection option
+ % because it is only defined by the case changing code
+ % which is loaded after load-time options are processed
+ \ifdefstring\blx@tempa{bibtexcaseprotection}
+ {\endgroup
+ \edef\blx@deferoption@bibtexcaseprotection{\CurrentOption}}
+ {\endgroup
+ \eappto\blx@theoptions{\CurrentOption,}}}
{\edef\blx@tempa{\endgroup
\noexpand\blx@kv@setkeys{blx@opt@ldt}{\CurrentOption}}%
\blx@tempa}}
@@ -15510,7 +15826,16 @@
% Textcase defines \NoCaseChange as \let\NoCaseChange\@firstofone
\ifundef\NoCaseChange
{\let\NoCaseChange\@firstofone}
- {}}
+ {}%
+ % we also need to defer the bibtexcaseprotection option until after we load
+ % the case changing code
+ \ifundef\blx@deferoption@bibtexcaseprotection
+ {}
+ {\begingroup
+ \edef\blx@tempa{\endgroup
+ \noexpand\blx@kv@setkeys{blx@opt@pre}{%
+ \blx@deferoption@bibtexcaseprotection}}%
+ \blx@tempa}}
% That's it for the case change code
% Set defaults
@@ -15553,7 +15878,6 @@
% Process load-time options
\ProcessOptions*
-
% Switch to BibTeX support if requested
\iftoggle{blx@bibtex}
{\blx@inputonce{blx-bibtex.def}{BibTeX backend compatibility}{}{}{}{}}
@@ -15576,6 +15900,42 @@
% Process preamble options
\blx@processoptions
+% first stab at guessing the file encoding
+\def\blx@guesstexencoding{%
+ \ifdef\blx@texencoding@fromoption
+ {\let\blx@texencoding\blx@texencoding@fromoption
+ \blx@info@noline{%
+ Input encoding '\blx@texencoding' specified}}
+ {\ifundef\inputencodingname
+ {\ifundef\XeTeXrevision
+ {\ifundef\luatexversion
+ {\def\blx@texencoding{ascii}%
+ \blx@info@noline{%
+ No input encoding detected.\MessageBreak
+ Assuming '\blx@texencoding'}}
+ {\def\blx@texencoding{utf8}%
+ \blx@info@noline{%
+ LuaTeX detected.\MessageBreak
+ Assuming input encoding '\blx@texencoding'}}}
+ {\def\blx@texencoding{utf8}%
+ \blx@info@noline{%
+ XeTeX detected.\MessageBreak
+ Assuming input encoding '\blx@texencoding'}}}
+ {\ifcsdef{blx@inpenc@\inputencodingname}
+ {\letcs\blx@texencoding{blx@inpenc@\inputencodingname}}
+ {\let\blx@texencoding\inputencodingname}%
+ \blx@info@noline{%
+ Input encoding '\blx@texencoding' detected}}}}
+
+\blx@guesstexencoding
+\let\blx@texencoding@firstguess\blx@texencoding
+
+% this ultimately loads either
+% blx-case-expl3.def or blx-case-latex2e.def
+\blx@deferoption@casechanger
+\blx@casechange@postload
+
+
% Deferred setup at end of preamble
\AtEndPreamble{%
\blx@checkoptions@global
@@ -15656,30 +16016,18 @@
\abx@dodates
\do{labeldate}}
+
+
\def\blx@checkencoding{%
- \ifdef\blx@texencoding
- {\blx@info@noline{%
- Input encoding '\blx@texencoding' specified}}
- {\ifundef\inputencodingname
- {\ifundef\XeTeXrevision
- {\ifundef\luatexversion
- {\def\blx@texencoding{ascii}%
- \blx@info@noline{%
- No input encoding detected.\MessageBreak
- Assuming '\blx@texencoding'}}
- {\def\blx@texencoding{utf8}%
- \blx@info@noline{%
- LuaTeX detected.\MessageBreak
- Assuming input encoding '\blx@texencoding'}}}
- {\def\blx@texencoding{utf8}%
- \blx@info@noline{%
- XeTeX detected.\MessageBreak
- Assuming input encoding '\blx@texencoding'}}}
- {\ifcsdef{blx@inpenc@\inputencodingname}
- {\letcs\blx@texencoding{blx@inpenc@\inputencodingname}}
- {\let\blx@texencoding\inputencodingname}%
- \blx@info@noline{%
- Input encoding '\blx@texencoding' detected}}}%
+ \blx@guesstexencoding
+ \ifdefstrequal\blx@texencoding@firstguess\blx@texencoding
+ {}
+ {\blx@warning@noline{%
+ Initial guess for file encoding (\blx@texencoding@firstguess)\MessageBreak
+ and new guess (\blx@texencoding) do not match.\MessageBreak
+ Please set up your document encoding *before*\MessageBreak
+ loading biblatex.\MessageBreak
+ The case changing code might not work as expected}}%
\ifdef\blx@bibencoding
{\ifdefstring\blx@bibencoding{ascii}
{\blx@info@noline{%
@@ -15718,15 +16066,11 @@
\AtBeginDocument{%
\blx@auxwrite\@mainaux{}{\string\abx@aux@refcontext{\blx@refcontext@context}}
\blx@checkencoding
- % this ultimately loads either
- % blx-case-expl3.def or blx-case-latex2e.def
- \blx@deferoption@casechanger
- \blx@casechange@postload
\if@filesw
\blx@ctrlwrite
\fi
\blx@bblinput
- \blx@maxsection\z@
+ \setcounter{blx@maxsection}{0}%
\csuse{abx@preamble}%
\blx@inf@refsec
\blx@inf@refseg}
diff --git a/macros/latex/contrib/biblatex/latex/blx-bibtex.def b/macros/latex/contrib/biblatex/latex/blx-bibtex.def
index 956b4708c5..9590e748a5 100644
--- a/macros/latex/contrib/biblatex/latex/blx-bibtex.def
+++ b/macros/latex/contrib/biblatex/latex/blx-bibtex.def
@@ -244,7 +244,7 @@
\def\blx@bblsecs{%
\advance\c@refsection\@ne
- \ifnum\c@refsection>\blx@maxsection
+ \ifnum\c@refsection>\c@blx@maxsection
\else
\blx@bblfile
\expandafter\blx@bblsecs
@@ -677,7 +677,7 @@
\MessageBreak
Please report this bug}}
-\AtEndDocument{%
+\blx@AtEndDocument{%
% always add default labelprefix declarations to .aux
\iftoggle{blx@bbldone}
{\def\do#1{%
diff --git a/macros/latex/contrib/biblatex/latex/blx-compat.def b/macros/latex/contrib/biblatex/latex/blx-compat.def
index 46272f181f..54dee8e634 100644
--- a/macros/latex/contrib/biblatex/latex/blx-compat.def
+++ b/macros/latex/contrib/biblatex/latex/blx-compat.def
@@ -6,13 +6,13 @@
\AtBeginDocument{%
\renewrobustcmd*{\bibliography}[1]{%
\blx@error
- {'\string\bibliography' invalid}
+ {'\string\bibliography' invalid in 'document' env}
{Use '\string\addbibresource' instead.\MessageBreak
I'm ignoring this command}}}
\renewrobustcmd*{\bibliographystyle}[1]{%
\blx@error
- {'\string\bibliographystyle' invalid}
+ {'\string\bibliographystyle' invalid for 'biblatex'}
{Use the package option 'style' instead.\MessageBreak
I'm ignoring this command}}
@@ -356,4 +356,18 @@
% and \mkrelatedstring for \mkrelatedstringtext
\newcommand{\mkrelatedstring}{\mainlang}
+% 3.17
+% ------------------------------------------------------------------
+% Deprecations for ISO8601 year divisions
+% ------------------------------------------------------------------
+
+% can't use \DeprecateFieldWithReplacement here because we do some
+% testing on the field values, so injecting warnings breaks things
+\def\do#1{%
+ \appto\blx@aliasfields{%
+ \csletcs{abx@field@#1season}{abx@field@#1yeardivision}%
+ \csletcs{abx@field@#1endseason}{abx@field@#1endyeardivision}}}
+\abx@dodatetypes
+
+
\endinput
diff --git a/macros/latex/contrib/biblatex/latex/blx-dm.def b/macros/latex/contrib/biblatex/latex/blx-dm.def
index cb23e20c5f..b53f0b0c92 100644
--- a/macros/latex/contrib/biblatex/latex/blx-dm.def
+++ b/macros/latex/contrib/biblatex/latex/blx-dm.def
@@ -116,7 +116,7 @@
{}}
% Valid dateparts
-\def\blx@notnulldateparts{month,day,hour,minute,second,timezone,season,endmonth,endday,endhour,endminute,endsecond,endtimezone,endseason}
+\def\blx@notnulldateparts{month,day,hour,minute,second,timezone,yeardivision,endmonth,endday,endhour,endminute,endsecond,endtimezone,endyeardivision}
\def\blx@nullokdateparts{endyear,year}
\edef\blx@dateparts{\blx@notnulldateparts,\blx@nullokdateparts}
@@ -246,7 +246,7 @@
\expandafter\docsvlist\expandafter{\blx@nullokdateparts}%
% dateparts which are not ok to be null by default:
% *year, *(end)month, *(end)day, *(end)hour, *(end)minute, *(end)second, *(end)timezone
- % *(end)season
+ % *(end)yeardivision
\def\do####1{%
\let\blx@tempa\@empty% reset setkeys buffer due to loop calls
\xifinlistcs{\blx@datetype ####1}{blx@datamodel@fields}
@@ -643,10 +643,10 @@
endhour,
endminute,
endmonth,
- endseason,
endsecond,
endtimezone,
endyear,
+ endyeardivision,
entryset,
entrysubtype,
execute,
@@ -685,17 +685,17 @@
origendhour,
origendminute,
origendmonth,
- origendseason,
origendsecond,
origendtimezone,
origendyear,
+ origendyeardivision,
orighour,
origminute,
origmonth,
- origseason,
origsecond,
origtimezone,
origyear,
+ origyeardivision,
origlocation,
origpublisher,
origtitle,
@@ -705,7 +705,6 @@
relatedoptions,
relatedstring,
relatedtype,
- season,
second,
shortauthor,
shorteditor,
@@ -746,7 +745,8 @@
verbc,
xdata,
xref,
- year}
+ year,
+ yeardivision}
\DeclareDatamodelEntryfields[set]{
entryset}
@@ -1151,12 +1151,12 @@
note,
number,
pubstate,
- season,
series,
subtitle,
title,
titleaddon,
- volume}
+ volume,
+ yeardivision}
\DeclareDatamodelEntryfields[mvproceedings]{
addendum,
@@ -1167,17 +1167,17 @@
eventendhour,
eventendminute,
eventendmonth,
- eventendseason,
eventendsecond,
eventendtimezone,
eventendyear,
+ eventendyeardivision,
eventhour,
eventminute,
eventmonth,
- eventseason,
eventsecond,
eventtimezone,
eventyear,
+ eventyeardivision,
eventtitle,
eventtitleaddon,
isbn,
@@ -1207,17 +1207,17 @@
eventendhour,
eventendminute,
eventendmonth,
- eventendseason,
eventendsecond,
eventendtimezone,
eventendyear,
+ eventendyeardivision,
eventhour,
eventminute,
eventmonth,
- eventseason,
eventsecond,
eventtimezone,
eventyear,
+ eventyeardivision,
eventtitle,
eventtitleaddon,
isbn,
@@ -1257,17 +1257,17 @@
eventendhour,
eventendminute,
eventendmonth,
- eventendseason,
eventendsecond,
eventendtimezone,
eventendyear,
+ eventendyeardivision,
eventhour,
eventminute,
eventmonth,
- eventseason,
eventsecond,
eventtimezone,
eventyear,
+ eventyeardivision,
eventtitle,
eventtitleaddon,
isbn,
@@ -1336,17 +1336,17 @@
eventendhour,
eventendminute,
eventendmonth,
- eventendseason,
eventendsecond,
eventendtimezone,
eventendyear,
+ eventendyeardivision,
eventhour,
eventminute,
eventmonth,
- eventseason,
eventsecond,
eventtimezone,
eventyear,
+ eventyeardivision,
eventtitle,
eventtitleaddon,
howpublished,
diff --git a/macros/latex/contrib/biblatex/latex/lbx/australian.lbx b/macros/latex/contrib/biblatex/latex/lbx/australian.lbx
index 675089ddd8..65c51f2a05 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/australian.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/australian.lbx
@@ -13,12 +13,12 @@
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\space}}%
\iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\stripzeros{\thefield{#1}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\mkyearzeros{\thefield{#1}}}%
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/basque.lbx b/macros/latex/contrib/biblatex/latex/lbx/basque.lbx
index 6263081e97..74170df577 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/basque.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/basque.lbx
@@ -72,12 +72,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -241,17 +241,17 @@
{ed.,\addabbrvspace ohk\adddotspace eta hitzaur\adddot}},%
byeditoranaf = {{edizioa, oharrak eta hitzatzea}%
{ed.,\addabbrvspace ohk\adddotspace eta hitzatz\adddot}},%
- byeditortrcoin = {{edizioa, \lbx@lfromlang itzulpena, iruzkinak eta sarrera}%
+ byeditortrcoin = {{edizioa, \lbx@lfromlang\ itzulpena, iruzkinak eta sarrera}%
{ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot, irzk\adddotspace eta sar\adddot}},%
- byeditortrcofo = {{edizioa, \lbx@lfromlang itzulpena, iruzkinak eta hitzaurrea}%
+ byeditortrcofo = {{edizioa, \lbx@lfromlang\ itzulpena, iruzkinak eta hitzaurrea}%
{ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot, irzk\adddotspace eta hitzaur\adddot}},%
- byeditortrcoaf = {{edizioa, \lbx@lfromlang itzulpena, iruzkinak eta hitzatzea}%
+ byeditortrcoaf = {{edizioa, \lbx@lfromlang\ itzulpena, iruzkinak eta hitzatzea}%
{ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot, irzk\adddotspace eta hitzatz\adddot}},%
- byeditortranin = {{edizioa, \lbx@lfromlang itzulpena, oharrak eta sarrera}%
+ byeditortranin = {{edizioa, \lbx@lfromlang\ itzulpena, oharrak eta sarrera}%
{ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot, ohk\adddotspace eta sar\adddot}},%
- byeditortranfo = {{edizioa, \lbx@lfromlang itzulpena, oharrak eta hitzaurrea}%
+ byeditortranfo = {{edizioa, \lbx@lfromlang\ itzulpena, oharrak eta hitzaurrea}%
{ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot, ohk\adddotspace eta hitzaur\adddot}},%
- byeditortranaf = {{edizioa, \lbx@lfromlang itzulpena, oharrak eta hitzatzea}%
+ byeditortranaf = {{edizioa, \lbx@lfromlang\ itzulpena, oharrak eta hitzatzea}%
{ed.,\addabbrvspace \lbx@sfromlang\ itz\adddot, ohk\adddotspace eta hitzatz\adddot}},%
bytranslatorco = {{\lbx@lfromlang\ itzulpena eta iruzkinak}%
{\lbx@sfromlang\ itz\adddot\ eta irzk\adddot}},%
@@ -263,18 +263,18 @@
{\lbx@sfromlang\ itz\adddot\ eta hitzaur\adddot}},%
bytranslatoraf = {{\lbx@lfromlang\ itzulpena eta hitzatzea}%
{\lbx@sfromlang\ itz\adddot\ eta hitzatz\adddot}},%
- bytranslatorcoin = {{\lbx@lfromlang itzulpena, iruzkinak eta sarrera}%
- {\lbx@sfromlang itz\adddot, irzk\adddotspace eta sar\adddot}},%
- bytranslatorcofo = {{\lbx@lfromlang itzulpena, iruzkinak eta hitzaurrea}%
- {\lbx@sfromlang itz\adddot, irzk\adddotspace eta pr\'ol\adddot}},%
- bytranslatorcoaf = {{\lbx@lfromlang itzulpena, iruzkinak eta hitzatzea}%
- {\lbx@sfromlang itz\adddot, irzk\adddotspace eta hitzatz\adddot}},%
- bytranslatoranin = {{\lbx@lfromlang itzulpena, oharrak eta sarrera}%
- {\lbx@sfromlang itz\adddot, ohk\adddotspace eta sar\adddot}},%
- bytranslatoranfo = {{\lbx@lfromlang itzulpena, oharrak eta hitzaurrea}%
- {\lbx@sfromlang itz\adddot, ohk\adddotspace eta pr\'ol\adddot}},%
- bytranslatoranaf = {{\lbx@lfromlang itzulpena, oharrak eta hitzatzea}%
- {\lbx@sfromlang itz\adddot, ohk\adddotspace eta hitzatz\adddot}},%
+ bytranslatorcoin = {{\lbx@lfromlang\ itzulpena, iruzkinak eta sarrera}%
+ {\lbx@sfromlang\ itz\adddot, irzk\adddotspace eta sar\adddot}},%
+ bytranslatorcofo = {{\lbx@lfromlang\ itzulpena, iruzkinak eta hitzaurrea}%
+ {\lbx@sfromlang\ itz\adddot, irzk\adddotspace eta pr\'ol\adddot}},%
+ bytranslatorcoaf = {{\lbx@lfromlang\ itzulpena, iruzkinak eta hitzatzea}%
+ {\lbx@sfromlang\ itz\adddot, irzk\adddotspace eta hitzatz\adddot}},%
+ bytranslatoranin = {{\lbx@lfromlang\ itzulpena, oharrak eta sarrera}%
+ {\lbx@sfromlang\ itz\adddot, ohk\adddotspace eta sar\adddot}},%
+ bytranslatoranfo = {{\lbx@lfromlang\ itzulpena, oharrak eta hitzaurrea}%
+ {\lbx@sfromlang\ itz\adddot, ohk\adddotspace eta pr\'ol\adddot}},%
+ bytranslatoranaf = {{\lbx@lfromlang\ itzulpena, oharrak eta hitzatzea}%
+ {\lbx@sfromlang\ itz\adddot, ohk\adddotspace eta hitzatz\adddot}},%
and = {{eta}{eta}},%
andothers = {{et\adddotspace al\adddot}{et\adddotspace al\adddot}},%
andmore = {{et\adddotspace al\adddot}{et\adddotspace al\adddot}},%
@@ -473,6 +473,23 @@
summer = {{uda}{uda}},%
autumn = {{udazkena}{udaz\adddot}},%
winter = {{negua}{neg\adddot}},%
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{a\adddotspace m\adddot}{a\adddot m\adddot}},%
pm = {{p\adddotspace m\adddot}{p\adddot m\adddot}},%
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/brazilian.lbx b/macros/latex/contrib/biblatex/latex/lbx/brazilian.lbx
index 8d92cc663f..366b6417bd 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/brazilian.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/brazilian.lbx
@@ -70,12 +70,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -287,11 +287,11 @@
byeditortran = {{editado, traduzido \lbx@lfromlang\ e anotado por}%
{ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ e anot\adddot\ por}},
byeditortrin = {{editado, traduzido \lbx@lfromlang\ e introduzido por}%
- {ed.,\addabbrvspace trad. \lbx@sfromlang\ e introd\adddot\ por}},
+ {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ e introd\adddot\ por}},
byeditortrfo = {{editado, traduzido \lbx@lfromlang\ e prefaciado por}%
- {ed.,\addabbrvspace trad. \lbx@sfromlang\ e pref\adddot\ por}},
+ {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ e pref\adddot\ por}},
byeditortraf = {{editado, traduzido \lbx@lfromlang\ e posfaciado por}%
- {ed.,\addabbrvspace trad. \lbx@sfromlang\ e posf\adddot\ por}},
+ {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ e posf\adddot\ por}},
byeditorcoin = {{editado, comentado e introduzido por}%
{ed.,\addabbrvspace coment\adddot\ e introd\adddot\ por}},
byeditorcofo = {{editado, comentado e prefaciado por}%
@@ -542,6 +542,23 @@
summer = {{ver\~ao}{ver\~ao}},
autumn = {{outono}{outono}},
winter = {{inverno}{inverno}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{AM}{AM}},
pm = {{PM}{PM}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/british.lbx b/macros/latex/contrib/biblatex/latex/lbx/british.lbx
index 7bfdfced5d..b70c18302b 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/british.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/british.lbx
@@ -70,12 +70,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/bulgarian.lbx b/macros/latex/contrib/biblatex/latex/lbx/bulgarian.lbx
index fb64a01ab5..8683ab6328 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/bulgarian.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/bulgarian.lbx
@@ -97,12 +97,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -578,6 +578,23 @@
summer = {{лято}{лято}},
autumn = {{есен}{есен}},
winter = {{зима}{зима}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{преди обяд}{преди обяд}},
pm = {{след обяд}{сдед обяд}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/catalan.lbx b/macros/latex/contrib/biblatex/latex/lbx/catalan.lbx
index abf7f8522c..a400f3fce5 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/catalan.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/catalan.lbx
@@ -93,12 +93,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -282,7 +282,7 @@
byfounder = {{fundat per}{fund\adddotspace per}},
bycontinuator = {{continuat per}{cont\adddotspace per}},
bycollaborator = {{amb la co\l.laboraci\'o\smartof}{amb la co\l.l\adddot\smartof}},
- bytranslator = {{traducci\'o \lbx@fromlang\ a cura\smartof}{trad\adddotspace\lbx@fromlang\smartof}},
+ bytranslator = {{tradu\"{\i}t \lbx@lfromlang\ per}{trad\adddotspace\lbx@sfromlang\ per}},
bycommentator = {{comentari a cura\smartof}{com\adddot\smartof}},
byannotator = {{notes a cura\smartof}{n\adddot\smartof}},
withcommentator = {{amb un comentari a cura\smartof}{amb un com\adddot\smartof}},
@@ -290,8 +290,8 @@
withintroduction = {{amb una introducci\'o a cura\smartof}{amb una intr\adddot\smartof}},
withforeword = {{amb un pr\`oleg a cura\smartof}{amb un pr\`ol\adddot\smartof}},
withafterword = {{amb un ep\'{\i}leg a cura\smartof}{amb un ep\adddot\smartof}},
- byeditortr = {{edici\'o i traducci\'o \lbx@fromlang\ a cura\smartof}%
- {ed\adddotspace i trad\adddotspace\lbx@fromlang\smartof}},
+ byeditortr = {{edici\'o i traducci\'o \lbx@lfromlang\ a cura\smartof}%
+ {ed\adddotspace i trad\adddotspace\lbx@sfromlang\smartof}},
byeditorco = {{edici\'o i comentari a cura\smartof}%
{ed\adddotspace i com\adddot\smartof}},
byeditoran = {{edici\'o i notes a cura\smartof}%
@@ -302,16 +302,16 @@
{ed\adddotspace i pr\`ol\adddot\smartof}},
byeditoraf = {{edici\'o i ep\'{\i}leg a cura\smartof}%
{ed\adddotspace i ep\adddot\smartof}},
- byeditortrco = {{edici\'o, traducci\'o \lbx@fromlang\ i comentari a cura\smartof}%
- {ed.,\addabbrvspace trad\adddotspace\lbx@fromlang\ i com\adddot\smartof}},
- byeditortran = {{edici\'o, traducci\'o \lbx@fromlang\ i notes a cura\smartof}%
- {ed.,\addabbrvspace trad\adddotspace\lbx@fromlang\ i n\adddot\smartof}},
- byeditortrin = {{edici\'o, traducci\'o \lbx@fromlang\ i introducci\'o a cura\smartof}%
- {ed.,\addabbrvspace trad\adddotspace\lbx@fromlang\ i intr\adddot\smartof}},
- byeditortrfo = {{edici\'o, traducci\'o \lbx@fromlang\ i pr\`oleg a cura\smartof}%
- {ed.,\addabbrvspace trad\adddotspace\lbx@fromlang\ i pr\`ol\adddot\smartof}},
- byeditortraf = {{edici\'o, traducci\'o \lbx@fromlang\ i ep\'{\i}leg a cura\smartof}%
- {ed.,\addabbrvspace trad\adddotspace\lbx@fromlang\ i ep\adddot\smartof}},
+ byeditortrco = {{edici\'o, traducci\'o \lbx@lfromlang\ i comentari a cura\smartof}%
+ {ed.,\addabbrvspace trad\adddotspace\lbx@sfromlang\ i com\adddot\smartof}},
+ byeditortran = {{edici\'o, traducci\'o \lbx@lfromlang\ i notes a cura\smartof}%
+ {ed.,\addabbrvspace trad\adddotspace\lbx@sfromlang\ i n\adddot\smartof}},
+ byeditortrin = {{edici\'o, traducci\'o \lbx@lfromlang\ i introducci\'o a cura\smartof}%
+ {ed.,\addabbrvspace trad\adddotspace\lbx@sfromlang\ i intr\adddot\smartof}},
+ byeditortrfo = {{edici\'o, traducci\'o \lbx@lfromlang\ i pr\`oleg a cura\smartof}%
+ {ed.,\addabbrvspace trad\adddotspace\lbx@sfromlang\ i pr\`ol\adddot\smartof}},
+ byeditortraf = {{edici\'o, traducci\'o \lbx@lfromlang\ i ep\'{\i}leg a cura\smartof}%
+ {ed.,\addabbrvspace trad\adddotspace\lbx@sfromlang\ i ep\adddot\smartof}},
byeditorcoin = {{edici\'o, comentari i introducci\'o a cura\smartof}
{ed.,\addabbrvspace com\adddotspace i intr\adddot\smartof}},
byeditorcofo = {{edici\'o, comentari i pr\`oleg a cura\smartof}
@@ -324,40 +324,40 @@
{ed.,\addabbrvspace n\adddotspace i pr\`ol\adddot\smartof}},
byeditoranaf = {{edici\'o, notes i ep\'{\i}leg a cura\smartof}%
{ed.,\addabbrvspace n\adddotspace i ep\adddot\smartof}},
- byeditortrcoin = {{edici\'o, traducci\'o \lbx@fromlang, comentari i introducci\'o a cura\smartof}%
- {ed.,\addabbrvspace trad\adddotspace \lbx@fromlang, com\adddotspace i intr\adddot\smartof}},
- byeditortrcofo = {{edici\'o, traducci\'o \lbx@fromlang, comentari i pr\`oleg a cura\smartof}%
- {ed.,\addabbrvspace trad\adddotspace \lbx@fromlang, com\adddotspace i pr\`ol\adddot\smartof}},
- byeditortrcoaf = {{edici\'o, traducci\'o \lbx@fromlang, comentari i ep\'{\i}leg a cura\smartof}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, com\adddot\ i ep\adddot\smartof}},
- byeditortranin = {{edici\'o, traducci\'o \lbx@fromlang, notes i introducci\'o a cura\smartof}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, n\adddot\ i intr\adddot\smartof}},
- byeditortranfo = {{edici\'o, traducci\'o \lbx@fromlang, notes i pr\`oleg a cura\smartof}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, n\adddot\ i pr\`ol\adddot\smartof}},
- byeditortranaf = {{edici\'o, traducci\'o \lbx@fromlang, notes i ep\'{\i}leg a cura\smartof}%
- {ed.,\addabbrvspace trad\adddot\ \lbx@fromlang, n\adddot\ i ep\adddot\smartof}},
- bytranslatorco = {{traducci\'o \lbx@fromlang\ i comentari a cura\smartof}%
- {trad\adddot\ \lbx@fromlang\ i com\adddot\smartof}},
- bytranslatoran = {{traducci\'o \lbx@fromlang\ i notes a cura\smartof}%
- {trad\adddot\ \lbx@fromlang\ i n\adddot\smartof}},
- bytranslatorin = {{traducci\'o \lbx@fromlang\ i introducci\'o a cura\smartof}%
- {trad\adddot\ \lbx@fromlang\ i intr\adddot\smartof}},
- bytranslatorfo = {{traducci\'o \lbx@fromlang\ i pr\`oleg a cura\smartof}%
- {trad\adddot\ \lbx@fromlang\ i pr\`ol\adddot\smartof}},
- bytranslatoraf = {{traducci\'o \lbx@fromlang\ i ep\'{\i}leg a cura\smartof}%
- {trad\adddot\ \lbx@fromlang\ i ep\adddot\smartof}},
- bytranslatorcoin = {{traducci\'o \lbx@fromlang, comentari i introducci\'o a cura\smartof}%
- {trad\adddot\ \lbx@fromlang, com\adddot\ i intr\adddot\smartof}},
- bytranslatorcofo = {{traducci\'o \lbx@fromlang, comentari i pr\`oleg a cura\smartof}%
- {trad\adddot\ \lbx@fromlang, com\adddot\ i pr\`ol\adddot\smartof}},
- bytranslatorcoaf = {{traducci\'o \lbx@fromlang, comentari i ep\'{\i}leg a cura\smartof}%
- {trad\adddot\ \lbx@fromlang, com\adddot\ i ep\adddot\smartof}},
- bytranslatoranin = {{traducci\'o \lbx@fromlang, notes i introducci\'o a cura\smartof}%
- {trad\adddot\ \lbx@fromlang, n\adddot\ i intr\adddot\smartof}},
- bytranslatoranfo = {{traducci\'o \lbx@fromlang, notes i pr\`oleg a cura\smartof}%
- {trad\adddot\ \lbx@fromlang, n\adddot\ i pr\`ol\adddot\smartof}},
- bytranslatoranaf = {{traducci\'o \lbx@fromlang, notes i ep\'{\i}leg a cura\smartof}%
- {trad\adddot\ \lbx@fromlang, n\adddot\ i ep\adddot\smartof}},
+ byeditortrcoin = {{edici\'o, traducci\'o \lbx@lfromlang, comentari i introducci\'o a cura\smartof}%
+ {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, com\adddotspace i intr\adddot\smartof}},
+ byeditortrcofo = {{edici\'o, traducci\'o \lbx@lfromlang, comentari i pr\`oleg a cura\smartof}%
+ {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, com\adddotspace i pr\`ol\adddot\smartof}},
+ byeditortrcoaf = {{edici\'o, traducci\'o \lbx@lfromlang, comentari i ep\'{\i}leg a cura\smartof}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, com\adddot\ i ep\adddot\smartof}},
+ byeditortranin = {{edici\'o, traducci\'o \lbx@lfromlang, notes i introducci\'o a cura\smartof}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, n\adddot\ i intr\adddot\smartof}},
+ byeditortranfo = {{edici\'o, traducci\'o \lbx@lfromlang, notes i pr\`oleg a cura\smartof}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, n\adddot\ i pr\`ol\adddot\smartof}},
+ byeditortranaf = {{edici\'o, traducci\'o \lbx@lfromlang, notes i ep\'{\i}leg a cura\smartof}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, n\adddot\ i ep\adddot\smartof}},
+ bytranslatorco = {{traducci\'o \lbx@lfromlang\ i comentari a cura\smartof}%
+ {trad\adddot\ \lbx@sfromlang\ i com\adddot\smartof}},
+ bytranslatoran = {{traducci\'o \lbx@lfromlang\ i notes a cura\smartof}%
+ {trad\adddot\ \lbx@sfromlang\ i n\adddot\smartof}},
+ bytranslatorin = {{traducci\'o \lbx@lfromlang\ i introducci\'o a cura\smartof}%
+ {trad\adddot\ \lbx@sfromlang\ i intr\adddot\smartof}},
+ bytranslatorfo = {{traducci\'o \lbx@lfromlang\ i pr\`oleg a cura\smartof}%
+ {trad\adddot\ \lbx@sfromlang\ i pr\`ol\adddot\smartof}},
+ bytranslatoraf = {{traducci\'o \lbx@lfromlang\ i ep\'{\i}leg a cura\smartof}%
+ {trad\adddot\ \lbx@sfromlang\ i ep\adddot\smartof}},
+ bytranslatorcoin = {{traducci\'o \lbx@lfromlang, comentari i introducci\'o a cura\smartof}%
+ {trad\adddot\ \lbx@sfromlang, com\adddot\ i intr\adddot\smartof}},
+ bytranslatorcofo = {{traducci\'o \lbx@lfromlang, comentari i pr\`oleg a cura\smartof}%
+ {trad\adddot\ \lbx@sfromlang, com\adddot\ i pr\`ol\adddot\smartof}},
+ bytranslatorcoaf = {{traducci\'o \lbx@lfromlang, comentari i ep\'{\i}leg a cura\smartof}%
+ {trad\adddot\ \lbx@sfromlang, com\adddot\ i ep\adddot\smartof}},
+ bytranslatoranin = {{traducci\'o \lbx@lfromlang, notes i introducci\'o a cura\smartof}%
+ {trad\adddot\ \lbx@sfromlang, n\adddot\ i intr\adddot\smartof}},
+ bytranslatoranfo = {{traducci\'o \lbx@lfromlang, notes i pr\`oleg a cura\smartof}%
+ {trad\adddot\ \lbx@sfromlang, n\adddot\ i pr\`ol\adddot\smartof}},
+ bytranslatoranaf = {{traducci\'o \lbx@lfromlang, notes i ep\'{\i}leg a cura\smartof}%
+ {trad\adddot\ \lbx@sfromlang, n\adddot\ i ep\adddot\smartof}},
and = {{i}{i}},
andothers = {{et al\adddot}{et al\adddot}},
andmore = {{i m\'es}{i m\'es}},
@@ -467,7 +467,8 @@
october = {{octubre}{oct\adddot}},
november = {{novembre}{nov\adddot}},
december = {{desembre}{des\adddot}},
- langamerican = {{angl\`es americ\`a}{ang\adddotspace amer\adddot}},
+ langamerican = {{angl\`es americ\`a}{angl\adddotspace am\adddot}},
+ langbasque = {{\`euscar}{\`eusc\adddot}},
langbrazilian = {{portugu\`es brasiler}{port\adddotspace bras\adddot}},
langbulgarian = {{b\'ulgar}{b\'ulg\adddot}},
langcatalan = {{catal\`a}{cat\adddot}},
@@ -475,28 +476,34 @@
langcroatian = {{croat}{croat}},
langdanish = {{dan\`es}{dan\adddot}},
langdutch = {{neerland\`es}{neerl\adddot}},
- langenglish = {{angl\`es}{ang\adddot}},
- langestonian = {{estoni\`a}{eston\adddot}},
+ langenglish = {{angl\`es}{angl\adddot}},
+ langestonian = {{estoni\`a}{est\adddot}},
langfinnish = {{fin\`es}{fin\adddot}},
langfrench = {{franc\`es}{fr\adddot}},
- langgalician = {{gallec}{gal\adddot}},
+ langgalician = {{gallec}{gall\adddot}},
langgerman = {{alemany}{al\adddot}},
langgreek = {{grec}{grec}},
-% langhungarian = {{}{}}, % FIXME: missing
+ langhungarian = {{hongar\`es}{hong\adddot}},
langitalian = {{itali\`a}{it\adddot}},
langjapanese = {{japon\`es}{jap\adddot}},
langlatin = {{llat\'{\i}}{ll\adddot}},
- langlatvian = {{litu\`a}{lit\adddot}},
+ langlatvian = {{let\'o}{let\'o}},
+ langlithuanian = {{litu\`a}{lit\adddot}},
+ langmarathi = {{marathi}{mar\adddot}},
langnorwegian = {{noruec}{nor\adddot}},
langpolish = {{polon\`es}{pol\adddot}},
langportuguese = {{portugu\`es}{port\adddot}},
+ langromanian = {{roman\`es}{rom\adddot}},
langrussian = {{rus}{rus}},
+ langserbian = {{serbi}{serbi}},
langslovak = {{eslovac}{eslovac}},
langslovene = {{eslov\`e}{eslov\`e}},
langspanish = {{castell\`a}{cast\adddot}},
langswedish = {{suec}{suec}},
+ langturkish = {{turc}{turc}},
langukrainian = {{ucra\"{\i}n\`es}{ucr\adddot}},
- fromamerican = {{de l'angl\`es americ\`a}{de l'ang\adddotspace amer\adddot}},
+ fromamerican = {{de l'angl\`es americ\`a}{de l'angl\adddotspace am\adddot}},
+ frombasque = {{de l'\`euscar}{de l'\`eusc\adddot}},
frombrazilian = {{del portugu\`es brasiler}{del port\adddotspace bras\adddot}},
frombulgarian = {{del b\'ulgar}{del bulg\adddot}},
fromcatalan = {{del catal\`a}{del cat\adddot}},
@@ -504,26 +511,31 @@
fromczech = {{del txec}{del txec}},
fromdanish = {{del dan\`es}{del dan\adddot}},
fromdutch = {{del neerland\`es}{del neerl\adddot}},
- fromenglish = {{de l'angl\`es}{de l'ang\adddot}},
- fromestonian = {{de l'estoni\`a}{de l'eston\adddot}},
+ fromenglish = {{de l'angl\`es}{de l'angl\adddot}},
+ fromestonian = {{de l'estoni\`a}{de l'est\adddot}},
fromfinnish = {{del fin\`es}{del fin\adddot}},
fromfrench = {{del franc\`es}{del fr\adddot}},
fromgalician = {{del gallec}{del gall\adddot}},
fromgerman = {{de l'alemany}{de l'al\adddot}},
fromgreek = {{del grec}{del grec}},
-% fromhungarian = {{}{}}, % FIXME: missing
+ fromhungarian = {{de l'hongar\`es}{de l'hong\adddot}},
fromitalian = {{de l'itali\`a}{de l'it\adddot}},
fromjapanese = {{del japon\`es}{del jap\adddot}},
fromlatin = {{del llat\'{\i}}{del ll\adddot}},
- fromlatvian = {{del litu\`a}{del lit\adddot}},
+ fromlatvian = {{del let\'o}{del let\'o}},
+ fromlithuanian = {{del litu\`a}{del lit\adddot}},
+ frommarathi = {{del marathi}{del mar\adddot}},
fromnorwegian = {{del noruec}{del nor\adddot}},
frompolish = {{del polon\`es}{del pol\adddot}},
fromportuguese = {{del portugu\`es}{del port\adddot}},
+ fromromanian = {{del roman\`es}{del rom\adddot}},
fromrussian = {{del rus}{del rus}},
+ fromserbian = {{del serbi}{del serbi}},
fromslovak = {{de l'eslovac}{de l'eslovac}},
fromslovene = {{de l'eslov\`e}{de l'eslov\`e}},
fromspanish = {{del castell\`a}{del cast\adddot}},
fromswedish = {{del suec}{del suec}},
+ fromturkish = {{del turc}{del turc}},
fromukrainian = {{de l'ucra\"{\i}n\`es}{de l'ucr\adddot}},
countryde = {{Alemanya}{DE}},
countryeu = {{Uni\'o Europea}{UE}},
@@ -556,6 +568,23 @@
summer = {{estiu}{est\adddot}},
autumn = {{tardor}{tard\adddot}},
winter = {{hivern}{hiv\adddot}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{a\adddotspace m\adddot}{a\adddotspace m\adddot}},
pm = {{p\adddotspace m\adddot}{p\adddotspace m\adddot}},
}
@@ -606,13 +635,13 @@
\if i\noexpand\lbx@tempa 1\fi
\if o\noexpand\lbx@tempa 1\fi
\if u\noexpand\lbx@tempa 1\fi
- \if y\noexpand\lbx@tempa 1\fi
+% \if y\noexpand\lbx@tempa 1\fi
\if A\noexpand\lbx@tempa 1\fi
\if E\noexpand\lbx@tempa 1\fi
\if I\noexpand\lbx@tempa 1\fi
\if O\noexpand\lbx@tempa 1\fi
\if U\noexpand\lbx@tempa 1\fi
- \if Y\noexpand\lbx@tempa 1\fi
+% \if Y\noexpand\lbx@tempa 1\fi
>0 %
\let\lbx@tempa\lbx@ca@smartof@d
\else
diff --git a/macros/latex/contrib/biblatex/latex/lbx/croatian.lbx b/macros/latex/contrib/biblatex/latex/lbx/croatian.lbx
index 5938649490..ba0b340d62 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/croatian.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/croatian.lbx
@@ -72,12 +72,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -567,6 +567,23 @@
summer = {{ljeto}{ljeto}},
autumn = {{jesen}{jesen}},
winter = {{zima}{zima}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{prije podne}{AM}},
pm = {{poslije podne}{PM}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/czech.lbx b/macros/latex/contrib/biblatex/latex/lbx/czech.lbx
index d23131f072..197d762daa 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/czech.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/czech.lbx
@@ -65,12 +65,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -528,6 +528,23 @@
summer = {{l\'{e}to}{l\'{e}to}},
autumn = {{podzim}{podzim}},
winter = {{zima}{zima}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{AM}{AM}},
pm = {{PM}{PM}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/danish.lbx b/macros/latex/contrib/biblatex/latex/lbx/danish.lbx
index 2b360a0c0c..d1dafe601f 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/danish.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/danish.lbx
@@ -63,12 +63,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -251,7 +251,7 @@
bycontinuator = {{videref\o rt af}{videref\adddotspace af}},
bycollaborator = {{i samarbejde med}{i samarb\adddotspace m\adddot}},
bytranslator = {{oversat \lbx@lfromlang\ af}%
- {overs\adddot \lbx@sfromlang\ af}},
+ {overs\adddot\ \lbx@sfromlang\ af}},
bycommentator = {{kommenteret af}{komm\adddot\ af}},
byannotator = {{annoteret af}{ann\adddot\ af}},
withcommentator = {{med kommentarer af}{m\adddotspace komm\adddot\ af}},
@@ -260,7 +260,7 @@
withforeword = {{med forord af}{m\adddotspace forord af}},
withafterword = {{med efterord af}{m\adddotspace efterord af}},
byeditortr = {{redigeret og oversat \lbx@lfromlang\ af}%
- {red\adddotspace og overs\adddot \lbx@sfromlang\ af}},
+ {red\adddotspace og overs\adddot\ \lbx@sfromlang\ af}},
byeditorco = {{redigeret og kommenteret af}%
{red\adddotspace og komm\adddot\ af}},
byeditoran = {{redigeret med annoteringer af}%
@@ -530,6 +530,23 @@
summer = {{sommer}{sommer}},
autumn = {{efter\aa r}{efter\aa r}},
winter = {{vinter}{vinter}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{formiddag}{form\adddot}},
pm = {{eftermiddag}{efterm\adddot}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/dutch.lbx b/macros/latex/contrib/biblatex/latex/lbx/dutch.lbx
index 880c0643dc..51cf91614e 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/dutch.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/dutch.lbx
@@ -84,12 +84,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -286,11 +286,11 @@
byeditortran = {{geredigeerd, vertaald \lbx@lfromlang\ en geannoteerd door}%
{red., vert\adddotspace \lbx@sfromlang\ en annot\adddotspace door}},
byeditortrin = {{geredigeerd en vertaald \lbx@lfromlang, met een inleiding, door}%
- {red\adddotspace en vert. \lbx@sfromlang, met een inl., door}},
+ {red\adddotspace en vert\adddotspace \lbx@sfromlang, met een inl., door}},
byeditortrfo = {{geredigeerd en vertaald \lbx@lfromlang, met een voorwoord, door}%
- {red\adddotspace en vert. \lbx@sfromlang, met een voorw., door}},
+ {red\adddotspace en vert\adddotspace \lbx@sfromlang, met een voorw., door}},
byeditortraf = {{geredigeerd en vertaald \lbx@lfromlang, met een nawoord, door}%
- {red\adddotspace en vert. \lbx@sfromlang, met een naw., door}},
+ {red\adddotspace en vert\adddotspace \lbx@sfromlang, met een naw., door}},
byeditorcoin = {{geredigeerd en becommentarieerd, met een inleiding, door}%
{red\adddotspace en comm., met een inl., door}},
byeditorcofo = {{geredigeerd en becommentarieerd, met een voorwoord, door}%
@@ -320,11 +320,11 @@
bytranslatoran = {{vertaald \lbx@lfromlang\ en geannoteerd door}%
{vert\adddotspace \lbx@sfromlang\ en annot.\adddotspace door}},
bytranslatorin = {{vertaald \lbx@lfromlang, met een inleiding, door}%
- {vert. \lbx@sfromlang, met een inl., door}},
+ {vert\adddotspace \lbx@sfromlang, met een inl., door}},
bytranslatorfo = {{vertaald \lbx@lfromlang, met een voorwoord, door}%
- {vert. \lbx@sfromlang, met een voorw., door}},
+ {vert\adddotspace \lbx@sfromlang, met een voorw., door}},
bytranslatoraf = {{vertaald \lbx@lfromlang, met een nawoord, door}%
- {vert. \lbx@sfromlang, met een naw., door}},
+ {vert\adddotspace \lbx@sfromlang, met een naw., door}},
bytranslatorcoin = {{vertaald \lbx@lfromlang\ en becommentarieerd, met een inleiding, door}%
{vert\adddotspace \lbx@sfromlang\ en comm., met een inl., door}},
bytranslatorcofo = {{vertaald \lbx@lfromlang\ en becommentarieerd, met een voorwoord, door}%
@@ -549,6 +549,23 @@
% summer = {{}{}},% FIXME: missing
% autumn = {{}{}},% FIXME: missing
% winter = {{}{}},% FIXME: missing
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{a\adddot m\adddot}{a\adddot m\adddot}},
pm = {{p\adddot m\adddot}{p\adddot m\adddot}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/english.lbx b/macros/latex/contrib/biblatex/latex/lbx/english.lbx
index d13bd0fd42..cf67033de1 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/english.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/english.lbx
@@ -78,12 +78,12 @@ canadian,australian,newzealand,USenglish,UKenglish}
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
\savecommand\mkdaterangecomp
@@ -491,9 +491,11 @@ canadian,australian,newzealand,USenglish,UKenglish}
langlatin = {{Latin}{Latin}},
langlatvian = {{Latvian}{Latvian}},
langlithuanian = {{Lithuanian}{Lithuanian}},
+ langmarathi = {{Marathi}{Marathi}},
langnorwegian = {{Norwegian}{Norwegian}},
langpolish = {{Polish}{Polish}},
langportuguese = {{Portuguese}{Portuguese}},
+ langromanian = {{Romanian}{Romanian}},
langrussian = {{Russian}{Russian}},
langserbian = {{Serbian}{Serbian}},
langslovak = {{Slovak}{Slovak}},
@@ -524,9 +526,11 @@ canadian,australian,newzealand,USenglish,UKenglish}
fromlatin = {{from the Latin}{from the Latin}},
fromlatvian = {{from the Latvian}{from the Latvian}},
fromlithuanian = {{from the Lithuanian}{from the Lithuanian}},
+ frommarathi = {{from the Marathi}{from the Marathi}},
fromnorwegian = {{from the Norwegian}{from the Norwegian}},
frompolish = {{from the Polish}{from the Polish}},
fromportuguese = {{from the Portuguese}{from the Portuguese}},
+ fromromanian = {{from the Romanian}{from the Romanian}},
fromrussian = {{from the Russian}{from the Russian}},
fromserbian = {{from the Serbian}{from the Serbian}},
fromslovak = {{from the Slovak}{from the Slovak}},
@@ -566,6 +570,23 @@ canadian,australian,newzealand,USenglish,UKenglish}
summer = {{Summer}{Sum\adddot}},
autumn = {{Autumn}{Aut\adddot}},
winter = {{Winter}{Win\adddot}},
+ springN = {{Spring (Northern Hemisphere)}{Spr\adddotspace NH}},
+ summerN = {{Summer (Northern Hemisphere)}{Sum\adddotspace NH}},
+ autumnN = {{Autumn (Northern Hemisphere)}{Aut\adddotspace NH}},
+ winterN = {{Winter (Northern Hemisphere)}{Win\adddotspace NH}},
+ springS = {{Spring (Southern Hemisphere)}{Spr\adddotspace SH}},
+ summerS = {{Summer (Southern Hemisphere)}{Sum\adddotspace SH}},
+ autumnS = {{Autumn (Southern Hemisphere)}{Aut\adddotspace SH}},
+ winterS = {{Winter (Southern Hemisphere)}{Win\adddotspace SH}},
+ Q1 = {{Quarter~1}{Q1}},
+ Q2 = {{Quarter~2}{Q2}},
+ Q3 = {{Quarter~3}{Q3}},
+ Q4 = {{Quarter~4}{Q4}},
+ QD1 = {{Quadrimester~1}{Q1}},
+ QD2 = {{Quadrimester~2}{Q2}},
+ QD3 = {{Quadrimester~3}{Q3}},
+ S1 = {{Semestral~1}{S1}},
+ S2 = {{Semestral~2}{S2}},
am = {{AM}{AM}},
pm = {{PM}{PM}},
}
@@ -582,14 +603,14 @@ canadian,australian,newzealand,USenglish,UKenglish}
{\blx@nounit}
{\printtext[{#2date}]{%
\datecircaprint
- \iffieldundef{#2season}
+ \iffieldundef{#2yeardivision}
{\ifdateyearsequal{#2}{#2end}
{\csuse{mkbibdate#1}{}{#2month}{#2day}}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
\dateeraprint{#2year}}}
{\ifdateyearsequal{#2}{#2end}
- {\csuse{mkbibseasondate#1}{}{#2season}}
- {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}
+ {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}%
\dateeraprint{#2year}}}%
\dateuncertainprint
\iffieldundef{#2endyear}
@@ -598,13 +619,13 @@ canadian,australian,newzealand,USenglish,UKenglish}
{\mbox{\bibdaterangesep}}
{\bibdaterangesep
\enddatecircaprint
- \iffieldundef{#2endseason}
+ \iffieldundef{#2endyeardivision}
{\ifdateyearsequal{#2}{#2end}
{\iffieldsequal{#2month}{#2endmonth}
{\csuse{mkbibdate#1}{#2endyear}{}{#2endday}}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
- {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+ {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}%
\endgroup}
@@ -621,14 +642,14 @@ canadian,australian,newzealand,USenglish,UKenglish}
{\blx@nounit}
{\printtext[{#2date}]{%
\datecircaprint
- \iffieldundef{#2season}
+ \iffieldundef{#2yeardivision}
{\ifdateyearsequal{#2}{#2end}
{\csuse{mkbibdate#1}{}{#2month}{#2day}}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
\dateeraprint{#2year}}}
{\ifdateyearsequal{#2}{#2end}
- {\csuse{mkbibseasondate#1}{}{#2season}}
- {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}
+ {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}%
\dateeraprint{#2year}}}%
\dateuncertainprint
\iffieldundef{#2endyear}
@@ -637,9 +658,9 @@ canadian,australian,newzealand,USenglish,UKenglish}
{\mbox{\bibdaterangesep}}
{\bibdaterangesep
\enddatecircaprint
- \iffieldundef{#2endseason}
+ \iffieldundef{#2endyeardivision}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
- {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+ {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}%
\endgroup}
@@ -656,14 +677,14 @@ canadian,australian,newzealand,USenglish,UKenglish}
{\blx@nounit}
{\printtext[{#2date}]{%
\datecircaprint
- \iffieldundef{#2season}
+ \iffieldundef{#2yeardivision}
{\ifdateyearsequal{#2}{#2end}
{\csuse{mkbibdate#1}{}{#2month}{#2day}}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
\dateeraprint{#2year}}}
{\ifdateyearsequal{#2}{#2end}
- {\csuse{mkbibseasondate#1}{}{#2season}}
- {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}
+ {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}%
\dateeraprint{#2year}}}%
\dateuncertainprint
\iffieldundef{#2endyear}
@@ -673,13 +694,13 @@ canadian,australian,newzealand,USenglish,UKenglish}
\mbox{\bibdaterangesep}}
{\bibdaterangesep
\enddatecircaprint
- \iffieldundef{#2endseason}
+ \iffieldundef{#2endyeardivision}
{\ifdateyearsequal{#2}{#2end}
{\iffieldsequal{#2month}{#2endmonth}
{\csuse{mkbibdate#1}{#2endyear}{}{#2endday}}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
- {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+ {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}%
\printfield{extradate}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}%
@@ -697,14 +718,14 @@ canadian,australian,newzealand,USenglish,UKenglish}
{\blx@nounit}
{\printtext[{#2date}]{%
\datecircaprint
- \iffieldundef{#2season}
+ \iffieldundef{#2yeardivision}
{\ifdateyearsequal{#2}{#2end}
{\csuse{mkbibdate#1}{}{#2month}{#2day}}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
\dateeraprint{#2year}}}
{\ifdateyearsequal{#2}{#2end}
- {\csuse{mkbibseasondate#1}{}{#2season}}
- {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}
+ {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}%
\dateeraprint{#2year}}}%
\dateuncertainprint
\iffieldundef{#2endyear}
@@ -714,9 +735,9 @@ canadian,australian,newzealand,USenglish,UKenglish}
\mbox{\bibdaterangesep}}
{\bibdaterangesep
\enddatecircaprint
- \iffieldundef{#2endseason}
+ \iffieldundef{#2endyeardivision}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
- {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+ {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}%
\printfield{extradate}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}%
diff --git a/macros/latex/contrib/biblatex/latex/lbx/estonian.lbx b/macros/latex/contrib/biblatex/latex/lbx/estonian.lbx
index 07b58d529d..e91b3e4608 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/estonian.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/estonian.lbx
@@ -88,12 +88,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -557,6 +557,23 @@
summer = {{suvel}{suvel}},
autumn = {{s\"{u}gisel}{s\"{u}gisel}},
winter = {{talvel}{talvel}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{AM}{AM}},
pm = {{PM}{PM}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/finnish.lbx b/macros/latex/contrib/biblatex/latex/lbx/finnish.lbx
index 99db65676d..1390c564cf 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/finnish.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/finnish.lbx
@@ -107,12 +107,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -582,6 +582,23 @@
summer = {{kes\"a}{kes\"a}},% Or kes\"all\"a ?
autumn = {{syksy}{syksy}},% Or syksyll\"a ?
winter = {{talvi}{talvi}},% Or talvella ?
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{ap\adddot}{ip\adddot}},
pm = {{ip\adddot}{ip\adddot}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/french.lbx b/macros/latex/contrib/biblatex/latex/lbx/french.lbx
index 8b3f7f194b..3638ae8fa8 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/french.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/french.lbx
@@ -91,12 +91,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -561,6 +561,23 @@
summer = {{\'et\'e}{\'et\'e}},
autumn = {{automne}{automne}},
winter = {{hiver}{hiver}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{AM}{AM}},
pm = {{PM}{PM}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/galician.lbx b/macros/latex/contrib/biblatex/latex/lbx/galician.lbx
index 293fe87520..25eed96d07 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/galician.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/galician.lbx
@@ -70,12 +70,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -287,11 +287,11 @@
byeditortran = {{editado, traducido \lbx@lfromlang\ e anotado por}%
{ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ e anot\adddot\ por}},
byeditortrin = {{editado, traducido \lbx@lfromlang\ e introducido por}%
- {ed.,\addabbrvspace trad. \lbx@sfromlang\ e introd\adddot\ por}},
+ {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ e introd\adddot\ por}},
byeditortrfo = {{editado, traducido \lbx@lfromlang\ e prefaciado por}%
- {ed.,\addabbrvspace trad. \lbx@sfromlang\ e pref\adddot\ por}},
+ {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ e pref\adddot\ por}},
byeditortraf = {{editado, traducido \lbx@lfromlang\ e posfaciado por}%
- {ed.,\addabbrvspace trad. \lbx@sfromlang\ e posf\adddot\ por}},
+ {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ e posf\adddot\ por}},
byeditorcoin = {{editado, comentado e introducido por}%
{ed.,\addabbrvspace com\adddot\ e introd\adddot\ por}},
byeditorcofo = {{editado, comentado e prefaciado por}%
@@ -531,6 +531,24 @@ nodate = {{sen data}{s\adddot d\adddot}},
summer = {{ver\'an}{ver\'an}},
autumn = {{outono}{outono}},
winter = {{inverno}{inverno}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
+
am = {{AM}{AM}},
pm = {{PM}{PM}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/german.lbx b/macros/latex/contrib/biblatex/latex/lbx/german.lbx
index d09bee3a76..403ead3554 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/german.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/german.lbx
@@ -77,12 +77,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -479,6 +479,7 @@
langnorwegian = {{Norwegisch}{Norwegisch}},
langpolish = {{Polnisch}{Polnisch}},
langportuguese = {{Portugiesisch}{Portugiesisch}},
+ langromanian = {{Rum\"anisch}{Rum\"anisch}},
langrussian = {{Russisch}{Russisch}},
langserbian = {{Serbisch}{Serbisch}},
langslovak = {{Slowakisch}{Slowakisch}},
@@ -512,6 +513,7 @@
fromnorwegian = {{aus dem Norwegischen}{aus dem Norwegischen}},
frompolish = {{aus dem Polnischen}{aus dem Polnischen}},
fromportuguese = {{aus dem Portugiesischen}{aus dem Portugiesischen}},
+ fromromanian = {{aus dem Rum\"anischen}{aus dem Rum\"anischen}},
fromrussian = {{aus dem Russischen}{aus dem Russischen}},
fromserbian = {{aus dem Serbian}{aus dem Serbian}},
fromslovak = {{aus dem Slowakischen}{aus dem Slowakischen}},
@@ -551,6 +553,23 @@
summer = {{Sommer}{Sommer}},
autumn = {{Herbst}{Herbst}},
winter = {{Winter}{Winter}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{vorm\adddot}{vorm\adddot}},
pm = {{nachm\adddot}{nachm\adddot}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/greek.lbx b/macros/latex/contrib/biblatex/latex/lbx/greek.lbx
index 6d86ddc4a4..ee1d664bfc 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/greek.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/greek.lbx
@@ -105,12 +105,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -570,6 +570,23 @@
% summer = {{}{}},% FIXME: missing
% autumn = {{}{}},% FIXME: missing
% winter = {{}{}},% FIXME: missing
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{π\adddot μ\adddot}{π\adddot μ\adddot}},
pm = {{μ\adddot μ\adddot}{μ\adddot μ\adddot}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/icelandic.lbx b/macros/latex/contrib/biblatex/latex/lbx/icelandic.lbx
index dc3ff3207a..c6e051c529 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/icelandic.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/icelandic.lbx
@@ -83,12 +83,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -481,6 +481,23 @@
% summer = {{}{}},% FIXME: missing
% autumn = {{}{}},% FIXME: missing
% winter = {{}{}},% FIXME: missing
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{f\adddot h\adddot}{f\adddot h\adddot}},
pm = {{e\adddot h\adddot}{e\adddot h\adddot}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/italian.lbx b/macros/latex/contrib/biblatex/latex/lbx/italian.lbx
index b0469ad796..6804011ad2 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/italian.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/italian.lbx
@@ -70,12 +70,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -464,6 +464,23 @@
% summer = {{}{}},% FIXME: missing
% autumn = {{}{}},% FIXME: missing
% winter = {{}{}},% FIXME: missing
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
}
\endinput
diff --git a/macros/latex/contrib/biblatex/latex/lbx/latvian.lbx b/macros/latex/contrib/biblatex/latex/lbx/latvian.lbx
index 137e97e6dd..22d8f43483 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/latvian.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/latvian.lbx
@@ -1,20 +1,6 @@
\ProvidesFile{latvian.lbx}
[\abx@lbxid]
-\ifundef{\lbx@lv@loadinfo}
- {\blx@warning@noline{%
- Latvian localisation module for biblatex loaded.\MessageBreak
- This module changes more definitions than usual.\MessageBreak
- Please refer to the documentation for hints and\MessageBreak
- check the output carefully, especially with non-\MessageBreak
- standard styles or customisations to field formats.\MessageBreak
- This warning can be disabled by calling\MessageBreak
- '\string\BiblatexLatvianWarningOff'\MessageBreak
- after 'biblatex' has been loaded, but before\MessageBreak
- the localisation is loaded for the first time}%
- \global\let\lbx@lv@loadinfo\@empty}
- {}
-
\DeclareRedundantLanguages{latvian}{latvian}
\NewBibliographyString{%
@@ -110,7 +96,7 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
\iffieldundef{#1}
{}
{\iffieldbibstring{#1}
@@ -122,9 +108,9 @@
{\stripzeros{\thefield{#1}}}}
{\mkbibordinal{\thefield{#1}}\addspace\bibstring{dateyear}\space}}}%
\iftoggle{lbx@lv@datewhen}
- {\mkbibseason{date\thefield{#2}}}
- {\mkbibseason{\thefield{#2}}}}%
- \let\mkbibseasondatelong\mkbibseasondateshort
+ {\mkbibyeardivision{date\thefield{#2}}}
+ {\mkbibyeardivision{\thefield{#2}}}}%
+ \let\mkbibyeardivisiondatelong\mkbibyeardivisiondateshort
\savecommand\mkdaterangecomp
\savecommand\mkdaterangecompextra
\protected\def\mkdaterangecomp{%
@@ -681,6 +667,23 @@
summer = {{vasara}{vas\adddot}},
autumn = {{rudens}{rud\adddot}},
winter = {{ziema}{ziema}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
locspring = {{pavasar\={\i}}{pav\adddot}},
locsummer = {{vasar\={a}}{vas\adddot}},
locautumn = {{ruden\={\i}}{rud\adddot}},
@@ -722,13 +725,13 @@
{\blx@nounit}
{\printtext[{#2date}]{%
\datecircaprint
- \iffieldundef{#2season}
+ \iffieldundef{#2yeardivision}
{\ifdateyearsequal{#2}{#2end}
{\iffieldsequal{#2month}{#2endmonth}
{\csuse{mkbibdate#1}{#2year}{}{#2day}}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}%
- {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+ {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}%
\dateeraprint{#2year}%
\dateuncertainprint
\iffieldundef{#2endyear}
@@ -737,13 +740,13 @@
{\mbox{\bibdaterangesep}}
{\bibdaterangesep
\enddatecircaprint
- \iffieldundef{#2season}
+ \iffieldundef{#2yeardivision}
{\ifdateyearsequal{#2}{#2end}
{\csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
{\ifdateyearsequal{#2}{#2end}
- {\csuse{mkbibseasondate#1}{}{#2endseason}}
- {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ {\csuse{mkbibyeardivisiondate#1}{}{#2endyeardivision}}
+ {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}%
\endgroup}
@@ -760,13 +763,13 @@
{\blx@nounit}
{\printtext[{#2date}]{%
\datecircaprint
- \iffieldundef{#2season}
+ \iffieldundef{#2yeardivision}
{\ifdateyearsequal{#2}{#2end}
{\iffieldsequal{#2month}{#2endmonth}
{\csuse{mkbibdate#1}{#2year}{}{#2day}}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}%
- {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+ {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}%
\dateeraprint{#2year}%
\dateuncertainprint
\iffieldundef{#2endyear}
@@ -776,13 +779,13 @@
\mbox{\bibdaterangesep}}
{\bibdaterangesep
\enddatecircaprint
- \iffieldundef{#2season}
+ \iffieldundef{#2yeardivision}
{\ifdateyearsequal{#2}{#2end}
{\csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
{\ifdateyearsequal{#2}{#2end}
- {\csuse{mkbibseasondate#1}{}{#2endseason}}
- {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ {\csuse{mkbibyeardivisiondate#1}{}{#2endyeardivision}}
+ {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}%
\printfield{extradate}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}%
diff --git a/macros/latex/contrib/biblatex/latex/lbx/lithuanian.lbx b/macros/latex/contrib/biblatex/latex/lbx/lithuanian.lbx
index 60d5476076..0bcbb3a7b5 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/lithuanian.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/lithuanian.lbx
@@ -91,7 +91,7 @@
{\iffieldundef{#2}{}{\bibdatesep}%
\forcezerosmdt{\thefield{#3}}}%
}%
- \let\mkbibseasondatelong\mkbibseasondateshort
+ \let\mkbibyeardivisiondatelong\mkbibyeardivisiondateshort
\savecommand\mkdaterangefull
\savecommand\mkdaterangefullextra
\savecommand\mkdaterangetrunc
@@ -122,12 +122,12 @@
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
\csletcs{mkbibtime12h}{mkbibtime24h}%
- \protected\def\mkbibseasondateshort#1#2{%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}%
\iffieldundef{#1}{}{\addspace}%
- \mkbibseason{\thefield{#2}}%
+ \mkbibyeardivision{\thefield{#2}}%
}%
- \let\mkbibseasondatelong\mkbibseasondateshort
+ \let\mkbibyeardivisiondatelong\mkbibyeardivisiondateshort
}%
\UndeclareBibliographyExtras{%
@@ -627,8 +627,25 @@
summer = {{vasara}{vas\adddot}},
autumn = {{ruduo}{ruduo}},
winter = {{žiema}{žiema}},
-% am = {{}{}},
-% pm = {{}{}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
+% am = {{}{}},
+% pm = {{}{}},
year = {{m\adddot}{m\adddot}},
month = {{mėn\adddot}{mėn\adddot}},
day = {{d\adddot}{d\adddot}},
@@ -692,10 +709,10 @@
{}
{\printtext[{#2date}]{%
\datecircaprint
- \iffieldundef{#2season}
+ \iffieldundef{#2yeardivision}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
\blx@printtime{#2}{}}%
- {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+ {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}%
\dateeraprint{#2year}%
\dateuncertainprint
\iffieldundef{#2endyear}
@@ -709,7 +726,7 @@
\let\lbx@lt@ifdropmonthstring\@secondoftwo
\let\lbx@lt@ifdropyearstring\@secondoftwo
\enddatecircaprint
- \iffieldundef{#2season}
+ \iffieldundef{#2yeardivision}
{\iffieldsequal{#2year}{#2endyear}
{\iffieldsequal{#2month}{#2endmonth}
{\csuse{mkbibdate#1}{}{}{#2endday}}
@@ -717,8 +734,8 @@
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}%
\blx@printtime{#2}{end}}
{\iffieldsequal{#2year}{#2endyear}
- {\csuse{mkbibseasondate#1}{}{#2endseason}}
- {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ {\csuse{mkbibyeardivisiondate#1}{}{#2endyeardivision}}
+ {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}%
\endgroup}
@@ -738,10 +755,10 @@
{}
{\printtext[{#2date}]{%
\datecircaprint
- \iffieldundef{#2season}
+ \iffieldundef{#2yeardivision}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
\blx@printtime{#2}{}}%
- {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+ {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}%
\dateeraprint{#2year}%
\dateuncertainprint
\iffieldundef{#2endyear}
@@ -756,7 +773,7 @@
\let\lbx@lt@ifdropmonthstring\@secondoftwo
\let\lbx@lt@ifdropyearstring\@secondoftwo
\enddatecircaprint
- \iffieldundef{#2season}
+ \iffieldundef{#2yeardivision}
{\iffieldsequal{#2year}{#2endyear}
{\iffieldsequal{#2month}{#2endmonth}
{\csuse{mkbibdate#1}{}{}{#2endday}}
@@ -764,8 +781,8 @@
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}%
\blx@printtime{#2}{end}}
{\iffieldsequal{#2year}{#2endyear}
- {\csuse{mkbibseasondate#1}{}{#2endseason}}
- {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ {\csuse{mkbibyeardivisiondate#1}{}{#2endyeardivision}}
+ {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}%
\printfield{extradate}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}%
@@ -778,13 +795,13 @@
{\blx@nounit}
{\printtext[{#2date}]{%
\datecircaprint
- % Such a season component can only come from an ISO8601 season which replaces
+ % Such a yeardivision component can only come from an ISO8601 yeardivision which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
- \iffieldundef{#2season}
+ \iffieldundef{#2yeardivision}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
% Optionally print the time after the date
\blx@printtime{#2}{}}
- {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+ {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}%
\dateuncertainprint
\dateeraprint{#2year}%
\iffieldundef{#2endyear}
@@ -793,11 +810,11 @@
{\mbox{\csuse{lbx@lt@bibdaterangesep#1}}}
{\csuse{lbx@lt@bibdaterangesep#1}%
\enddatecircaprint
- \iffieldundef{#2endseason}
+ \iffieldundef{#2endyeardivision}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
% Optionally print the time after the date
\blx@printtime{#2}{end}}
- {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+ {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}%
\endgroup}
@@ -809,13 +826,13 @@
{\blx@nounit}
{\printtext[{#2date}]{%
\datecircaprint
- % Such a season component can only come from an ISO8601 season which replaces
+ % Such a yeardivision component can only come from an ISO8601 yeardivision which replaces
% a normal month so if it exists, we know that a normal date print is ruled out
- \iffieldundef{#2season}
+ \iffieldundef{#2yeardivision}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
% Optionally print the time after the date
\blx@printtime{#2}{}}
- {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+ {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}%
\dateuncertainprint
\dateeraprint{#2year}%
\iffieldundef{#2endyear}
@@ -825,11 +842,11 @@
\mbox{\csuse{lbx@lt@bibdaterangesep#1}}}
{\csuse{lbx@lt@bibdaterangesep#1}%
\enddatecircaprint
- \iffieldundef{#2endseason}
+ \iffieldundef{#2endyeardivision}
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
% Optionally print the time after the date
\blx@printtime{#2}{end}}
- {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}%
\printfield{extradate}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}%
diff --git a/macros/latex/contrib/biblatex/latex/lbx/magyar.lbx b/macros/latex/contrib/biblatex/latex/lbx/magyar.lbx
index 73bfdebbea..daff5ea601 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/magyar.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/magyar.lbx
@@ -1,20 +1,6 @@
\ProvidesFile{magyar.lbx}
[\abx@lbxid]
-\ifundef{\lbx@hu@loadinfo}
- {\blx@warning@noline{%
- Hungarian localisation module for biblatex loaded.\MessageBreak
- This module changes more definitions than usual.\MessageBreak
- Please refer to the documentation for hints and\MessageBreak
- check the output carefully, especially with non-\MessageBreak
- standard styles or customisations to field formats.\MessageBreak
- This warning can be disabled by calling\MessageBreak
- '\string\BiblatexHungarianWarningOff'\MessageBreak
- after 'biblatex' has been loaded, but before\MessageBreak
- the localisation is loaded for the first time}%
- \global\let\lbx@hu@loadinfo\@empty}
- {}
-
\DeclareRedundantLanguages{magyar}{magyar,hungarian}
\DeclareBibliographyExtras{%
@@ -65,7 +51,7 @@
{}
{\mkdayzeros{\thefield{#3}}\lbx@hu@ifdayrange{}{\adddot}}%
}%
- \let\mkbibseasondatelong\mkbibseasondateshort
+ \let\mkbibyeardivisiondatelong\mkbibyeardivisiondateshort
\savecommand\mkdaterangecomp
\savecommand\mkdaterangecompextra
\savecommand\mkdaterangeterse
@@ -94,12 +80,12 @@
{\bibtimezonesep
\mkbibtimezone{\thefield{#4}}}}%
\csletcs{mkbibtime12h}{mkbibtime24h}%
- \protected\def\mkbibseasondateshort#1#2{%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}%
\iffieldundef{#1}{}{\adddot\space}%
- \mkbibseason{\thefield{#2}}%
+ \mkbibyeardivision{\thefield{#2}}%
}%
- \let\mkbibseasondatelong\mkbibseasondateshort
+ \let\mkbibyeardivisiondatelong\mkbibyeardivisiondateshort
\savecommand\lbx@lfromlang
\savecommand\lbx@sfromlang
\def\lbx@lfromlang{%
@@ -642,6 +628,23 @@
summer = {{ny\'ar}{ny\'ar}},
autumn = {{\H{o}sz}{\H{o}sz}},
winter = {{t\'el}{t\'el}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{d\'elel\H{o}tt}{de\adddot}},
pm = {{d\'elut\'an}{du\adddot}},
}
@@ -666,10 +669,10 @@
{}
{\printtext[{#2date}]{%
\datecircaprint
- \iffieldundef{#2season}
+ \iffieldundef{#2yeardivision}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
\blx@printtime{#2}{}}%
- {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+ {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}%
\dateeraprint{#2year}%
\dateuncertainprint
\iffieldundef{#2endyear}
@@ -679,7 +682,7 @@
{\lbx@hu@ifdayrange{\bibrangedash}{\bibdaterangesep}%
\let\lbx@hu@ifplainday\@secondoftwo
\enddatecircaprint
- \iffieldundef{#2season}
+ \iffieldundef{#2yeardivision}
{\iffieldsequal{#2year}{#2endyear}
{\iffieldsequal{#2month}{#2endmonth}
{\csuse{mkbibdate#1}{}{}{#2endday}}
@@ -687,8 +690,8 @@
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}%
\blx@printtime{#2}{end}}
{\iffieldsequal{#2year}{#2endyear}
- {\csuse{mkbibseasondate#1}{}{#2endseason}}
- {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ {\csuse{mkbibyeardivisiondate#1}{}{#2endyeardivision}}
+ {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}%
\endgroup}
@@ -706,10 +709,10 @@
{}
{\printtext[{#2date}]{%
\datecircaprint
- \iffieldundef{#2season}
+ \iffieldundef{#2yeardivision}
{\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
\blx@printtime{#2}{}}%
- {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+ {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}%
\dateeraprint{#2year}%
\dateuncertainprint
\iffieldundef{#2endyear}
@@ -720,7 +723,7 @@
{\lbx@hu@ifdayrange{\bibrangedash}{\bibdaterangesep}%
\let\lbx@hu@ifplainday\@secondoftwo
\enddatecircaprint
- \iffieldundef{#2season}
+ \iffieldundef{#2yeardivision}
{\iffieldsequal{#2year}{#2endyear}
{\iffieldsequal{#2month}{#2endmonth}
{\csuse{mkbibdate#1}{}{}{#2endday}}
@@ -728,8 +731,8 @@
{\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}%
\blx@printtime{#2}{end}}
{\iffieldsequal{#2year}{#2endyear}
- {\csuse{mkbibseasondate#1}{}{#2endseason}}
- {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ {\csuse{mkbibyeardivisiondate#1}{}{#2endyeardivision}}
+ {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}%
\printfield{extradate}%
\enddateuncertainprint
\dateeraprint{#2endyear}}}}}%
diff --git a/macros/latex/contrib/biblatex/latex/lbx/marathi.lbx b/macros/latex/contrib/biblatex/latex/lbx/marathi.lbx
new file mode 100644
index 0000000000..2357b48b3e
--- /dev/null
+++ b/macros/latex/contrib/biblatex/latex/lbx/marathi.lbx
@@ -0,0 +1,557 @@
+% हे काम ११ ऑक्टोबर, २०२० रोजी निरंजन ह्यांनी सादर केले.
+% ह्यातील बहुतांश शब्दांकरिता भाषा संचालनालयाच्या भाषाविज्ञान
+% व वाङ्मयविद्या परिभाषा कोश तसेच ग्रंथालयशास्त्र परिभाषा कोश
+% ह्या दोन परिभाषा कोशांचा संदर्भ घेतला आहे.
+% ह्यात सुधारणा सुचवण्याकरिता ह्या कोशांचा आधार जरूर
+% घेण्यात यावा. भाषा संचालनालयाच्या कोशांतील शब्दांचे
+% शोधसुकर अर्थ पुढील संकेतस्थळावरून शोधता येऊ शकतात.
+% https://shabdakosh.marathi.gov.in/
+
+\ProvidesFile{marathi.lbx}
+[\abx@lbxid]
+
+
+\lbx@ifutfinput
+ {}
+ {\PackageError{biblatex}
+ {Marathi requires UTF-8 support}
+ {The file 'marathi.lbx' requires UTF-8 encoding but you
+ seem\MessageBreak to be using a different encoding.
+ This is a fatal error. I will\MessageBreak abort loading
+ marathi.lbx now.}%
+ \endinput}
+
+
+\DeclareBibliographyExtras{%
+ \protected\def\bibrangedash{-}%
+ \let\finalandcomma=\empty
+ % there is some housekeeping to do if we want to use non-ASCII digits
+ % first we declare Devanagari numerals as valid numerals
+ % this will let us pass \ifnumeral tests etc.
+ % \lbx@dononasciinumerals is a core hook to allo .lbx files to inject
+ % valid numerals
+ \savecommand\lbx@dononasciinumerals
+ \def\lbx@dononasciinumerals{\do\०\do\१\do\२\do\३\do\४\do\५\do\६\do\७\do\८\do\९}%
+ % since we want to calculate with Devanagari numbers,
+ % we need to convert them to US-ASCII numbers
+ % \blx@dononasciicomputablenumerals and \blx@initcomputableequivs
+ % are both used by \def\blx@defcomputableequivalent
+ \savecommand\blx@dononasciicomputablenumerals
+ \savecommand\blx@initcomputableequivs
+ \let\blx@dononasciicomputablenumerals\@empty
+ \let\blx@initcomputableequivs\@empty
+ % map Devanagari digit to US-ASCII digit
+ \blx@defcomputableequivalent{\०}{\0}%
+ \blx@defcomputableequivalent{\१}{\1}%
+ \blx@defcomputableequivalent{\२}{\2}%
+ \blx@defcomputableequivalent{\३}{\3}%
+ \blx@defcomputableequivalent{\४}{\4}%
+ \blx@defcomputableequivalent{\५}{\5}%
+ \blx@defcomputableequivalent{\६}{\6}%
+ \blx@defcomputableequivalent{\७}{\7}%
+ \blx@defcomputableequivalent{\८}{\8}%
+ \blx@defcomputableequivalent{\९}{\9}%
+ % we will use getcomputableequivalent to obtain the ASCII-number
+ % whenever we actually need a number for computations
+ \protected\def\mkbibordinal#1{%
+ \begingroup
+ \blx@imc@getcomputableequivalent{#1}{\blx@tempa}%
+ \@tempcnta0\blx@tempa\relax
+ #1%
+ \ifcase\@tempcnta व\or ल\or र\or र\or थ\else व\fi
+ \endgroup}%
+ \protected\def\mkbibmascord#1{\mkbibordinal{#1}ा}%
+ \protected\def\mkbibfemord#1{\mkbibordinal{#1}ी}%
+ \protected\def\mkbibneutord#1{\mkbibordinal{#1}े}%
+ \savecommand\mkbibordedition
+ \savecommand\mkbibordseries
+ \def\mkbibordedition{\mkbibfemord}%
+ \def\mkbibordseries{\mkbibmascord}%
+ \savecommand\blx@comprange@check
+ \def\blx@comprange@check#1#2{%
+ \blx@imc@ifinteger{#1}
+ {\blx@imc@ifinteger{#2}}
+ {\@secondoftwo}
+ {\blx@comprange@comp{#1}{#2}}
+ {\blx@imc@hascomputableequivalent{#1}
+ {\blx@imc@hascomputableequivalent{#2}}
+ {\@secondoftwo}
+ {\begingroup
+ \blx@imc@getcomputableequivalent{#1}{\blx@tempa}%
+ \blx@imc@getcomputableequivalent{#2}{\blx@tempb}%
+ \edef\blx@tempc{\endgroup
+ \noexpand\blx@comprange@comp{\blx@tempa}{\blx@tempb}}%
+ \blx@tempc}
+ {\begingroup
+ \protected@edef\blx@tempc{\endgroup
+ \blx@range@out@value{%
+ \blx@range@out@item@process{\unexpanded{#1}}%
+ \noexpand\bibrangedash
+ \blx@range@out@item@process{\unexpanded{#2}}}}%
+ \blx@tempc}}}%
+ \savefieldformat[article]{series}%
+ \savefieldformat[periodical]{series}%
+ \DeclareFieldFormat[article,periodical]{series}{% series of a journal
+ \blx@imc@ifiscomputable{#1}
+ {\mkbibordseries{#1}~\bibstring{jourser}}
+ {\ifbibstring{#1}{\bibstring{#1}}{#1}}}%
+ \savefieldformat{edition}%
+ \DeclareFieldFormat{edition}{%
+ \blx@imc@ifiscomputable{#1}
+ {\mkbibordedition{#1}~\bibstring{edition}}
+ {#1\isdot}}%
+ \savecommand\mknumalph
+ \protected\def\mknumalph#1{%
+ \begingroup
+ \blx@imc@getcomputableequivalent{#1}{\blx@tempa}%
+ \blx@tempcnta=\blx@tempa\relax
+ \blx@numalph\blx@tempcnta
+ \endgroup}%
+ \savecommand\blx@numalph
+ \def\blx@numalph#1{%
+ \ifcase#1\relax\blx@warning@entry{Value \number#1 out of range}\number#1\or
+ अ\or आ\or इ\or ई\or उ\or ऊ\or ए\or ऐ\or ओ\or औ\or अं\or अः\or क\or
+ ख\or ग\or घ\or ङ\or च\or छ\or ज\or झ\or ञ\or ट\or ठ\or ड\or ढ\or
+ ण\or त\or थ\or द\or ध\or न\or प\or फ\or ब\or भ\or म\or य\or र\or
+ ल\or व\or श\or ष\or स\or ह\or ळ\or क्ष\or ज्ञ\else
+ \blx@warning@entry{Value \number#1 out of range}\number#1\fi}%
+ \savecommand\mkbibmonth
+ \protected\def\mkbibmonth#1{%
+ \begingroup
+ \begingroup
+ \edef\blx@tempb{\endgroup
+ \noexpand\blx@imc@getcomputableequivalent
+ {#1}
+ {\noexpand\blx@tempa}}%
+ \blx@tempb
+ \ifcase0\blx@tempa\relax
+ \blx@warning@entry{Month out of range or not an integer}%
+ \or\abx@bibmonth{january}%
+ \or\abx@bibmonth{february}%
+ \or\abx@bibmonth{march}%
+ \or\abx@bibmonth{april}%
+ \or\abx@bibmonth{may}%
+ \or\abx@bibmonth{june}%
+ \or\abx@bibmonth{july}%
+ \or\abx@bibmonth{august}%
+ \or\abx@bibmonth{september}%
+ \or\abx@bibmonth{october}%
+ \or\abx@bibmonth{november}%
+ \or\abx@bibmonth{december}%
+ \else
+ \blx@warning@entry{Month out of range}#1%
+ \fi
+ \endgroup}%
+ \protected\def\mkbibdatelong#1#2#3{%
+ \iffieldundef{#3}
+ {}
+ {\mkdayzeros{\thefield{#3}}%
+ \iffieldundef{#2}{}{\nobreakspace}}%
+ \iffieldundef{#2}
+ {}
+ {\mkbibmonth{\thefield{#2}}%
+ \iffieldundef{#1}{}{\iffieldundef{#3}{}{\addcomma}\space}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
+ \protected\def\mkbibdateshort#1#2#3{%
+ \iffieldundef{#3}
+ {}
+ {\mkdayzeros{\thefield{#3}}%
+ \iffieldundef{#2}{}{/}}%
+ \iffieldundef{#2}
+ {}
+ {\mkmonthzeros{\thefield{#2}}%
+ \iffieldundef{#1}{}{/}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
+ \iffieldundef{#4}{}
+ {\bibtimezonesep
+ \mkbibtimezone{\thefield{#4}}}}%
+ \expandafter\protected\expandafter\def\csname mkbibtime12h\endcsname#1#2#3#4{%
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \space
+ \stripzeros{\mktimehh{\thefield{#1}}}%
+ \bibtimesep
+ \mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}
+ {\bibtimesep
+ \mktimezeros{\thefield{#3}}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \savefieldformat{url}%
+ \DeclareFieldFormat{url}{\bibstring{url}\addcolon\space\url{#1}}%
+ \savefieldformat{urldate}%
+ \DeclareFieldFormat{urldate}{\mkbibparens{#1\addspace\bibstring{urlseen}}}%
+}
+
+\UndeclareBibliographyExtras{%
+ \restorecommand\lbx@dononasciinumerals
+ \restorecommand\blx@dononasciicomputablenumerals
+ \restorecommand\blx@initcomputableequivs
+ \restorecommand\blx@comprange@check
+ \restorecommand\mkbibordedition
+ \restorecommand\mkbibordseries
+ \restorecommand\mknumalph
+ \restorecommand\blx@numalph
+ \restorecommand\mkbibmonth
+ \restorefieldformat{url}%
+ \restorefieldformat{urldate}%
+ \restorefieldformat[article]{series}%
+ \restorefieldformat[periodical]{series}%
+ \restorefieldformat{edition}%
+}
+
+\DeclareBibliographyStrings{%
+ bibliography = {{संदर्भसूची}{संदर्भसूची}},
+ references = {{संदर्भ}{संदर्भ}},
+ shorthands = {{संक्षेपसूची}{संक्षेप}},
+ editor = {{संपादक}{संपा\adddot}},
+ editors = {{संपादक}{संपा\adddot}},
+ compiler = {{संग्राहक}{संग्रा\adddot}},
+ compilers = {{संग्राहक}{संग्रा\adddot}},
+ redactor = {{पाठशोधक}{पाठ\adddot}},
+ redactors = {{पाठशोधक}{पाठ\adddot}},
+ reviser = {{पुनरीक्षक}{पुन\adddot}},
+ revisers = {{पुनरीक्षक}{पुन\adddot}},
+ founder = {{संस्थापक}{संस्था\adddot}},
+ founders = {{संस्थापक}{संस्था\adddot}},
+ collaborator = {{सहलेखक}{सह\adddot}},% FIXME: unsure
+ collaborators = {{सहलेखक}{सहलेखक\adddot}},% FIXME: unsure
+ translator = {{अनुवादक}{अनु\adddot}},
+ translators = {{अनुवादक}{अनु\adddot}},
+ commentator = {{समालोचक}{समा\adddot}},
+ commentators = {{समालोचक}{समा\adddot}},
+ annotator = {{टीपालेखक}{टीपा\adddot}},
+ annotators = {{टीपालेखक}{टीपा\adddot}},
+ commentary = {{समालोचन}{समा\adddot}},
+ annotations = {{टीपा}{टीपा}},
+ introduction = {{प्रस्तावना}{प्रस्ता\adddot}},
+ foreword = {{प्रास्ताविक}{प्रास्ता\adddot}},
+ editortr = {{संपादक आणि अनुवादक}%
+ {संपा\adddotspace व अनु\adddot}},
+ editorstr = {{संपादक आणि अनुवादक}%
+ {संपा\adddotspace व अनु\adddot}},
+ editorco = {{संपादक आणि भाष्यकार}%
+ {संपा\adddotspace व भाष्य}},
+ editorsco = {{संपादक आणि भाष्यकार}%
+ {संपा\adddotspace व भाष्य}},
+ editoran = {{संपादक आणि टीपालेखक}%
+ {संपा\adddotspace व टीपा\adddot}},
+ editorsan = {{संपादक आणि टीपालेखक}%
+ {संपा\adddotspace व टीपा\adddot}},
+ editorin = {{संपादक आणि प्रस्तावना}%
+ {संपा\adddotspace व प्रस्ता\adddot}},
+ editorsin = {{संपादक व प्रस्तावना}%
+ {संपा\adddotspace व प्रस्ता\adddot}},
+ editorfo = {{संपादक व प्रास्ताविक}%
+ {संपा\adddotspace व प्रास्ता\adddot}},
+ editorsfo = {{संपादक व प्रास्ताविक}%
+ {संपा\adddotspace व प्रास्ता\adddot}},
+ editortrco = {{संपादक, अनुवादक व भाष्यकार}%
+ {संपा.\addabbrvspace अनु\adddot व भाष्य}},
+ editorstrco = {{संपादक, अनुवादक व भाष्यकार}%
+ {संपा.\addabbrvspace अनु\adddot व भाष्य}},
+ editortran = {{संपादक, अनुवादक व टीपालेखक}%
+ {संपा.\addabbrvspace अनु\adddot व टीपा\adddot}},
+ editorstran = {{संपादक, अनुवादक व टीपालेखक}%
+ {संपा.\addabbrvspace अनु\adddot व टीपा\adddot}},
+ editortrin = {{संपादक, अनुवादक व प्रस्तावना}%
+ {संपा.\addabbrvspace अनु\adddot व प्रस्ता\adddot}},
+ editorstrin = {{संपादक, अनुवादक व प्रस्तावना}%
+ {संपा.\addabbrvspace अनु\adddot व प्रस्ता\adddot}},
+ editortrfo = {{संपादक, अनुवादक व प्रास्ताविक}%
+ {संपा.\addabbrvspace अनु\adddot व प्रास्ता\adddot}},
+ editorstrfo = {{संपादक, अनुवादक व प्रास्ताविक}%
+ {संपा.\addabbrvspace अनु\adddot व प्रास्ता\adddot}},
+ editorcoin = {{संपादक, भाष्यकार व प्रस्तावना}%
+ {संपा.\addabbrvspace भाष्य व प्रस्ता\adddot}},
+ editorscoin = {{संपादक, भाष्यकार व प्रस्तावना}%
+ {संपा.\addabbrvspace भाष्य व प्रस्ता\adddot}},
+ editorcofo = {{संपादक, भाष्यकार व प्रास्ताविक}%
+ {संपा.\addabbrvspace भाष्य व प्रास्ता\adddot}},
+ editorscofo = {{संपादक, भाष्यकार व प्रास्ताविक}%
+ {संपा.\addabbrvspace भाष्य व प्रास्ता\adddot}},
+ editoranin = {{संपादक, टीपालेखक व प्रस्तावना}%
+ {संपा.\addabbrvspace टीपा\adddot व प्रस्ता\adddot}},
+ editorsanin = {{संपादक, टीपालेखक व प्रस्तावना}%
+ {संपा.\addabbrvspace टीपा\adddot व प्रस्ता\adddot}},
+ editoranfo = {{संपादक, टीपालेखक व प्रास्ताविक}%
+ {संपा.\addabbrvspace टीपा\adddot व प्रास्ता\adddot}},
+ editorsanfo = {{संपादक, टीपालेखक व प्रास्ताविक}%
+ {संपा.\addabbrvspace टीपा\adddot व प्रास्ता\adddot}},
+ editortrcoin = {{संपादक, अनुवादक, भाष्यकार व प्रस्तावना}%
+ {संपा.\addabbrvspace अनु., भाष्य व प्रस्ता\adddot}},
+ editorstrcoin = {{संपादक, अनुवादक, भाष्यकार व प्रस्तावना}%
+ {संपा.\addabbrvspace अनु., भाष्य व प्रस्ता\adddot}},
+ editortrcofo = {{संपादक, अनुवादक, भाष्यकार व प्रास्ताविक}%
+ {संपा.\addabbrvspace अनु., भाष्य व प्रास्ता\adddot}},
+ editorstrcofo = {{संपादक, अनुवादक, भाष्यकार व प्रास्ताविक}%
+ {संपा.\addabbrvspace अनु., भाष्य व प्रास्ता\adddot}},
+ editortranin = {{संपादक, अनुवादक, टीपालेखक व प्रस्तावना}%
+ {संपा.\addabbrvspace अनु., टीपा\adddot व प्रस्ता\adddot}},
+ editorstranin = {{संपादक, अनुवादक, टीपालेखक व प्रस्तावना}%
+ {संपा.\addabbrvspace अनु., टीपा\adddot व प्रस्ता\adddot}},
+ editortranfo = {{संपादक, अनुवादक, टीपालेखक व प्रास्ताविक}%
+ {संपा.\addabbrvspace अनु., टीपा\adddot व प्रास्ता\adddot}},
+ editorstranfo = {{संपादक, अनुवादक, टीपालेखक व प्रास्ताविक}%
+ {संपा.\addabbrvspace अनु., टीपा\adddot व प्रास्ता\adddot}},
+ translatorco = {{अनुवादक व भाष्य}%
+ {अनु\adddot\ व भाष्य}},
+ translatorsco = {{अनुवादक व भाष्यकार}%
+ {अनु\adddot\ व भाष्य}},
+ translatoran = {{अनुवादक व टीपालेखक}%
+ {अनु\adddot\ व टीपा\adddot}},
+ translatorsan = {{अनुवादक व टीपालेखक}%
+ {अनु\adddot\ व टीपा\adddot}},
+ translatorin = {{अनुवाद व प्रस्तावना}%
+ {अनु\adddot\ व प्रस्ता\adddot}},
+ translatorsin = {{अनुवाद व प्रस्तावना}%
+ {अनु\adddot\ व प्रस्ता\adddot}},
+ translatorfo = {{अनुवाद व प्रास्ताविक}%
+ {अनु\adddot\ व प्रास्ता\adddot}},
+ translatorsfo = {{अनुवाद व प्रास्ताविक}%
+ {अनु\adddot\ व प्रास्ता\adddot}},
+ translatorcoin = {{अनुवाद, समालोचन व प्रस्तावना}%
+ {अनु., भाष्य व प्रस्ता\adddot}},
+ translatorscoin = {{अनुवाद, समालोचन व प्रस्तावना}%
+ {अनु., भाष्य व प्रस्ता\adddot}},
+ translatorcofo = {{अनुवाद, समालोचन व प्रास्ताविक}%
+ {अनु., भाष्य व प्रास्ता\adddot}},
+ translatorscofo = {{अनुवाद, समालोचन व प्रास्ताविक}%
+ {अनु., भाष्य व प्रास्ता\adddot}},
+ translatoranin = {{अनुवाद, टीपा व प्रस्तावना}%
+ {अनु., टीपा\adddot व प्रस्ता\adddot}},
+ translatorsanin = {{अनुवाद, टीपा व प्रस्तावना}%
+ {अनु., टीपा\adddot व प्रस्ता\adddot}},
+ translatoranfo = {{अनुवाद, टीपा व प्रास्ताविक}%
+ {अनु., टीपा\adddot व प्रास्ता\adddot}},
+ translatorsanfo = {{अनुवाद, टीपालेखन व प्रास्ताविक}%
+ {अनु., टीपा\adddot व प्रास्ता\adddot}},
+ organizer = {{आयोजक}{आयो\adddot}},
+ organizers = {{आयोजक}{आयो\adddot}},
+ byorganizer = {{आयोजित}{आयो\adddot}},
+ byauthor = {{लेखन}{लेखन}},
+ byeditor = {{संपादित}{संपा\adddot}},
+ bycompiler = {{संग्रहण}{संग्र\adddot}},
+ byredactor = {{पाठशोधित}{पाठ\adddot}},
+ byreviser = {{पुनरीक्षक}{पुन.\adddot}},
+ byreviewer = {{परीक्षण}{परी\adddot}},
+ byfounder = {{संस्थापना}{संस्था\adddot}},
+ bycontinuator = {{क्रमशः}{क्रम\adddot}},
+ bytranslator = {{\lbx@lfromlang\ तून अनुवादित}{\lbx@sfromlang\ अनु\adddot}},
+ bycommentator = {{भाष्य}{भाष्य}},
+ byannotator = {{टीपांसहित}{टीपा\adddot}},
+ withcommentator = {{समालोचन}{समा\adddot}},
+ withannotator = {{टीपांसह}{टीपा}},
+ withintroduction = {{प्रस्तावनेसह}{प्रस्तावनेसह}},
+ withforeword = {{प्रास्ताविकासह}{प्रास्ता\adddot}},
+ byeditortr = {{संपादित व \lbx@lfromlang\ अनुवादित}%
+ {संपा\adddotspace व \lbx@sfromlang\ अनु\adddot}},
+ byeditorco = {{संपादित व समालोचित}%
+ {संपा\adddotspace व भाष्य}},
+ byeditoran = {{संपादित व टीपांसहित}%
+ {संपा\adddotspace व टीपा\adddot}},
+ byeditorin = {{संपादित, प्रस्तावना}%
+ {संपा.\addabbrvspace प्रस्ता\adddot}},
+ byeditorfo = {{संपादित, प्रास्ताविकासह}%
+ {संपा.\addabbrvspace प्रास्ता\adddot}},
+ byeditortrco = {{संपादित, \lbx@lfromlang\ अनुवादित व समालोचित}%
+ {संपा.\addabbrvspace \lbx@sfromlang\ अनु\adddot\ व भाष्य}},
+ byeditortran = {{संपादित, \lbx@lfromlang\ अनुवादित व टीपांसहित}%
+ {संपा.\addabbrvspace \lbx@sfromlang\ अनु\adddot\ व टीपा\adddot}},
+ byeditortrin = {{संपादित व \lbx@lfromlang\ अनुवादित, प्रस्तावना}%
+ {संपा\adddotspace व \lbx@sfromlang\ अनु\adddot\, प्रस्ता\adddot}},
+ byeditortrfo = {{संपादित व \lbx@lfromlang\ अनुवादित, प्रास्ताविकासह}%
+ {संपा\adddotspace व \lbx@sfromlang\ अनु\adddot\, प्रास्ताविकासह\adddot}},
+ byeditorcoin = {{संपादित व समालोचित, प्रस्तावना}%
+ {संपा\adddotspace व समा., प्रस्ता\adddot}},
+ byeditorcofo = {{संपादित व समालोचित, प्रास्ताविकासह}%
+ {संपा\adddotspace व समा., प्रास्ताविकासह\adddot}},
+ byeditoranin = {{संपादित व टीपांसहित, प्रस्तावना}%
+ {संपा\adddotspace व टीपा., प्रस्ता\adddot}},
+ byeditoranfo = {{संपादित व टीपांसहित, प्रास्ताविकासह}%
+ {संपा\adddotspace व टीपा., प्रास्ताविकासह\adddot}},
+ byeditortrcoin = {{संपादित, \lbx@lfromlang\ अनुवादित व समालोचित, प्रस्तावना}%
+ {संपा.\addabbrvspace \lbx@sfromlang\ अनु\adddot व समा., प्रस्ता\adddot}},
+ byeditortrcofo = {{संपादित, \lbx@lfromlang\ अनुवादित व समालोचित, प्रास्ताविकासह}%
+ {संपा.\addabbrvspace \lbx@sfromlang\ अनु\adddot\ व समा., प्रास्ताविकासह}},
+ byeditortranin = {{संपादित, \lbx@lfromlang\ अनुवादित व टीपांसहित, प्रस्तावना}%
+ {संपा.\addabbrvspace \lbx@sfromlang\ अनु\adddot\ व टीपा, प्रस्ता\adddot}},
+ byeditortranfo = {{संपादित, \lbx@lfromlang\ अनुवादित व टीपांसहित, प्रास्ताविकासह}%
+ {संपा.\addabbrvspace \lbx@sfromlang\ अनु\adddot\ व टीपा, प्रास्ताविकासह}},
+ bytranslatorco = {{\lbx@lfromlang\ अनुवादित व समालोचित}%
+ {\lbx@sfromlang\ अनु\adddot\ व भाष्य}},
+ bytranslatoran = {{\lbx@lfromlang\ अनुवादित व टीपांसहित}%
+ {\lbx@sfromlang\ अनु\adddot\ व टीपा}},
+ bytranslatorin = {{\lbx@lfromlang\ अनुवादित, प्रस्तावना}%
+ {\lbx@sfromlang\ अनु\adddot\, प्रस्ता\adddot}},
+ bytranslatorfo = {{\lbx@lfromlang\ अनुवादित, प्रास्ताविकासह}%
+ {\lbx@sfromlang\ अनु\adddot\, प्रास्ताविकासह\adddot}},
+ bytranslatorcoin = {{\lbx@lfromlang\ अनुवादित व समालोचित, प्रस्तावना}%
+ {\lbx@sfromlang\ अनु\adddot\ व समा., प्रस्ता\adddot}},
+ bytranslatorcofo = {{\lbx@lfromlang\ अनुवादित व समालोचित, प्रास्ताविकासह}%
+ {\lbx@sfromlang\ अनु\adddot\ व समा., प्रास्ताविकासह\adddot}},
+ bytranslatoranin = {{\lbx@lfromlang\ अनुवादित व टीपांसहित, प्रस्तावना}%
+ {\lbx@sfromlang\ अनु\adddot\ व टीपा, प्रस्ता\adddot}},
+ bytranslatoranfo = {{\lbx@lfromlang\ अनुवादित व टीपांसहित, प्रास्ताविकासह}%
+ {\lbx@sfromlang\ अनु\adddot\ व टीपा, प्रास्ताविकासह\adddot}},
+ and = {{आणि}{व}},
+ andothers = {{व इतर}{व इतर}},
+ andmore = {{व इतर}{व इतर}},
+ volume = {{खंड}{खंड}},
+ volumes = {{खंड}{खंड}},
+ jourvol = {{खंड}{खंड}},
+ jourser = {{अंक}{अंक}},
+ book = {{पुस्तक}{पुस्तक}},
+ part = {{खंड}{खंड}},
+ edition = {{आवृत्ती}{आ\adddot}},
+ reprintfrom = {{पुनर्प्रकाशित}{पुन\adddot}},
+ translationof = {{अनुवाद}{अनु\adddot}},
+ translationas = {{अनुवादित}{अनु\adddot}},
+ translationfrom = {{अनुवादित}{अनु\adddot}},
+ origpubas = {{मूळ आवृत्ती}{मूळ\adddotspace आ\adddot}},
+ origpubin = {{मूळ आवृत्ती}{मूळ\adddotspace आ\adddot}},
+ bypublisher = {{प्रकाशन}{प्रका\adddot}},
+ nodate = {{दिनांक अनिर्दिष्ट}{दिनांक अनिर्दिष्ट}},
+ page = {{पृष्ठ}{पृ\adddot}},
+ pages = {{पृष्ठे}{पृ\adddot}},
+ column = {{स्तंभ}{स्तंभ}},
+ columns = {{स्तंभ}{स्तंभ}},
+ line = {{ओळ}{ओळ}},
+ lines = {{ओळी}{ओळी}},
+ verse = {{कडवे}{कडवे}},
+ verses = {{कडवी}{कडवी}},
+ section = {{विभाग}{विभाग}},
+ sections = {{विभाग}{विभाग}},
+ paragraph = {{परिच्छेद}{परि\adddot}},
+ paragraphs = {{परिच्छेद}{परि\adddot}},
+ pagetotal = {{पृष्ठ}{पृ\adddot}},
+ pagetotals = {{पृष्ठे}{पृ\adddot}},
+ columntotal = {{स्तंभ}{स्तंभ}},
+ columntotals = {{स्तंभ}{स्तंभ}},
+ linetotal = {{ओळ}{ओळ}},
+ linetotals = {{ओळी}{ओळी}},
+ versetotal = {{कडवे}{कडवे}},
+ versetotals = {{कडवी}{कडवी}},
+ sectiontotal = {{विभाग}{विभाग}},
+ sectiontotals = {{विभाग}{विभाग}},
+ paragraphtotal = {{परिच्छेद}{परि\adddot}},
+ paragraphtotals = {{परिच्छेद}{परि\adddot}},
+ in = {{समाविष्ट}{समाविष्ट}},
+ inseries = {{समाविष्ट}{समाविष्ट}},
+ number = {{क्रमांक}{क्र\adddot}},
+ chapter = {{प्रकरण}{प्रकरण}},
+ bathesis = {{पदवी प्रबंध}{पदवी प्रबंध}},
+ mathesis = {{पदव्युत्तर प्रबंध}{पदव्युत्तर प्रबंध}},
+ phdthesis = {{पीएचडी प्रबंध}{पीएचडी प्रबंध}},
+ candthesis = {{उमेदवार निबंध}{उमे\adddotspace निबंध}},
+ resreport = {{शोधअहवाल}{शोधअहवाल}},
+ techreport = {{तांत्रिक अहवाल}{तां\adddotspace अह\adddot}},
+ software = {{संगणकीय कार्यप्रणाली}{संग\adddotspace कार्यप्रणाली}},
+ audiocd = {{ध्वनिफीत}{ध्वनिफीत}},
+ version = {{आवृत्ती}{आवृत्ती}},
+ url = {{दुवा}{दुवा}},
+ urlfrom = {{उपलब्ध}{उपलब्ध}},
+ urlseen = {{भेट दिली}{भेट दिली}},
+ inpreparation = {{प्रगतिपथावर}{प्रगतिपथावर}},
+ submitted = {{सादर केलेले}{सादर केलेले}},
+ forthcoming = {{आगामी}{आगामी}},
+ prepublished = {{पूर्वप्रकाशित}{पूर्वप्रकाशित}},
+ thiscite = {{खासकरून}{खासकरून}},
+ seenote = {{टीप पाहा}{टीप पाहा}},
+ quotedin = {{उद्धृत}{उद्धृत}},
+ see = {{पाहा}{पाहा}},
+ seealso = {{हेदेखील पाहा}{हेदेखील पाहा}},
+ january = {{जानेवारी}{जाने\adddot}},
+ february = {{फेब्रुवारी}{फेब्रु\adddot}},
+ march = {{मार्च}{मार्च\adddot}},
+ april = {{एप्रिल}{एप्रि\adddot}},
+ may = {{मे}{मे}},
+ june = {{जून}{जून}},
+ july = {{जुलै}{जुलै}},
+ august = {{ऑगस्ट}{ऑग\adddot}},
+ september = {{सप्टेंबर}{सप्टें\adddot}},
+ october = {{ऑक्टोबर}{ऑक्टो\adddot}},
+ november = {{नोव्हेंबर}{नोव्हें\adddot}},
+ december = {{डिसेंबर}{डिसें\adddot}},
+ langenglish = {{इंग्रजी}{इंग्रजी}},
+ langfrench = {{फ्रेंच}{फ्रेंच}},
+ langgerman = {{जर्मन}{जर्मन}},
+ langgreek = {{ग्रीक}{ग्रीक}},
+ langjapanese = {{जपानी}{जपानी}},
+ langportuguese = {{पोर्तुगीज}{पोर्तुगीज}},
+ langrussian = {{रशियन}{रशियन}},
+ langspanish = {{स्पॅनिश}{स्पॅनिश}},
+ langswedish = {{स्वीडी}{स्वीडी}},
+ fromdutch = {{डचमधून}{डचमधून}},
+ fromenglish = {{इंग्रजीतून}{इंग्रजीतून}},
+ fromfrench = {{फ्रेंचमधून}{फ्रेंचमधून}},
+ fromgerman = {{जर्मनमधून}{जर्मनमधून}},
+ fromgreek = {{ग्रीकमधून}{ग्रीकमधून}},
+ fromjapanese = {{जपानीतून}{जपानीतून}},
+ fromlatin = {{लॅटिनमधून}{लॅटिनमधून}},
+ fromportuguese = {{पोर्तुगीजमधून}{पोर्तुगीजमधून}},
+ fromrussian = {{रशियनमधून}{रशियनमधून}},
+ fromspanish = {{स्पॅनिशमधून}{स्पॅनिशमधून}},
+ fromswedish = {{स्वीडीतून}{स्वीडीतून}},
+ patent = {{पेटंट}{पे\adddot}},
+ file = {{धारिका}{धारिका}},
+ library = {{ग्रंथालय}{ग्रंथालय}},
+ abstract = {{सारांश}{सारांश}},
+ annotation = {{टीपा}{टीपा}},
+ commonera = {{सामान्य युग}{सा.यु\adddot}},
+ beforecommonera = {{सामान्य युग पूर्व}{सा.यु.पू\adddot}},
+ annodomini = {{इसवी सन}{इ.स\adddot}},
+ beforechrist = {{इ.स.पू\adddot}{इ.स.पू\adddot}},
+ circa = {{सुमारे}{सुमारे}},
+ spring = {{वसंत}{वसंत}},
+ summer = {{उन्हाळा}{उन्हाळा}},
+ autumn = {{शरद}{शरद}},
+ winter = {{हिवाळा}{हिवाळा}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
+ am = {{मध्यान्हपूर्व}{म.पू\adddot}},
+ pm = {{मध्यान्होत्तर}{म.उ\adddot}},
+}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex/latex/lbx/newzealand.lbx b/macros/latex/contrib/biblatex/latex/lbx/newzealand.lbx
index bef64fed9a..f8078123e6 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/newzealand.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/newzealand.lbx
@@ -15,12 +15,12 @@
\iffieldbibstring{#1}
{\bibstring{\thefield{#1}}}
{\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/norsk.lbx b/macros/latex/contrib/biblatex/latex/lbx/norsk.lbx
index 76aa28fee6..5c6875ff50 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/norsk.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/norsk.lbx
@@ -63,12 +63,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -529,6 +529,23 @@
summer = {{sommer}{sommer}},
autumn = {{h{\o}st}{h{\o}st}},
winter = {{vinter}{vinter}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{a\adddot m\adddot}{a\adddot m\adddot}},
pm = {{p\adddot m\adddot}{p\adddot m\adddot}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/nynorsk.lbx b/macros/latex/contrib/biblatex/latex/lbx/nynorsk.lbx
index 39ebe59e36..8986c6d522 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/nynorsk.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/nynorsk.lbx
@@ -310,6 +310,23 @@
summer = {{sommar}{sommar}},
autumn = {{haust}{haust}},
winter = {{vinter}{vinter}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{a\adddot m\adddot}{a\adddot m\adddot}},
pm = {{p\adddot m\adddot}{p\adddot m\adddot}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/polish.lbx b/macros/latex/contrib/biblatex/latex/lbx/polish.lbx
index 50ae2383f4..37f10a4fcc 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/polish.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/polish.lbx
@@ -71,12 +71,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -289,10 +289,10 @@
byeditorin = {{zredagowany, z wst\c{e}pem}{zred., z wst\adddot}},
byeditorfo = {{zredagowany, z przedmow\c{a}}{zred., z przedm\adddot}},
byeditoraf = {{zredagowany, z pos\l owiem}{zred., z pos\l \adddot}},
- byeditortrco = {{zredagowany, t\l umaczenie \lbx@lfromlang i komentarze}%
- {zred., t\l um\adddotspace \lbx@sfromlang i kom\adddot}},
- byeditortran = {{zredagowany, t\l umaczenie \lbx@lfromlang i uwagi}%
- {zred., t\l um\adddotspace \lbx@sfromlang i uw\adddot}},
+ byeditortrco = {{zredagowany, t\l umaczenie \lbx@lfromlang\ i komentarze}%
+ {zred., t\l um\adddotspace \lbx@sfromlang\ i kom\adddot}},
+ byeditortran = {{zredagowany, t\l umaczenie \lbx@lfromlang\ i uwagi}%
+ {zred., t\l um\adddotspace \lbx@sfromlang\ i uw\adddot}},
byeditortrin = {{zredagowany, t\l umaczenie \lbx@lfromlang, wst\c{e}p}%
{zred., t\l um\adddotspace \lbx@sfromlang, wst\adddot}},
byeditortrfo = {{zredagowany, t\l umaczenie \lbx@lfromlang, przedmowa}%
@@ -317,16 +317,16 @@
{zred., t\l um\adddotspace \lbx@sfromlang, uw\adddotspace i przedm\adddot}},
byeditortranaf = {{zredagowany, t\l umaczenie \lbx@lfromlang, uwagi i pos\l owie}%
{zred., t\l um\adddotspace \lbx@sfromlang, uw\adddotspace i pos\l \adddot}},
- bytranslatorco = {{t\l umaczenie \lbx@lfromlang i komentarze}%
- {t\l um\adddotspace \lbx@sfromlang i kom\adddot}},
- bytranslatoran = {{t\l umaczenie \lbx@lfromlang i uwagi}%
- {t\l um\adddotspace \lbx@sfromlang i uw\adddot}},
- bytranslatorin = {{t\l umaczenie \lbx@lfromlang i wst\c{e}p}%
- {t\l um\adddotspace \lbx@sfromlang i wst\adddot}},
- bytranslatorfo = {{t\l umaczenie \lbx@lfromlang i przedmowa}%
- {t\l um\adddotspace \lbx@sfromlang i przedm\adddot}},
- bytranslatoraf = {{t\l umaczenie \lbx@lfromlang i pos\l owie}%
- {t\l um\adddotspace \lbx@sfromlang i pos\l \adddot}},
+ bytranslatorco = {{t\l umaczenie \lbx@lfromlang\ i komentarze}%
+ {t\l um\adddotspace \lbx@sfromlang\ i kom\adddot}},
+ bytranslatoran = {{t\l umaczenie \lbx@lfromlang\ i uwagi}%
+ {t\l um\adddotspace \lbx@sfromlang\ i uw\adddot}},
+ bytranslatorin = {{t\l umaczenie \lbx@lfromlang\ i wst\c{e}p}%
+ {t\l um\adddotspace \lbx@sfromlang\ i wst\adddot}},
+ bytranslatorfo = {{t\l umaczenie \lbx@lfromlang\ i przedmowa}%
+ {t\l um\adddotspace \lbx@sfromlang\ i przedm\adddot}},
+ bytranslatoraf = {{t\l umaczenie \lbx@lfromlang\ i pos\l owie}%
+ {t\l um\adddotspace \lbx@sfromlang\ i pos\l \adddot}},
bytranslatorcoin = {{t\l umaczenie \lbx@lfromlang, komentarze i wst\c{e}p}%
{t\l um\adddotspace \lbx@sfromlang, kom\adddotspace i wst\adddot}},
bytranslatorcofo = {{t\l umaczenie \lbx@lfromlang, komentarze i przedmowa}%
@@ -550,6 +550,23 @@
summer = {{lato}{lato}},
autumn = {{jesie\'{n}}{jesie\'{n}}},
winter = {{zima}{zima}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{AM}{AM}},
pm = {{PM}{PM}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/portuguese.lbx b/macros/latex/contrib/biblatex/latex/lbx/portuguese.lbx
index d408904515..8ec26543e0 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/portuguese.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/portuguese.lbx
@@ -70,12 +70,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -287,11 +287,11 @@
byeditortran = {{editado, traduzido \lbx@lfromlang\ e anotado por}%
{ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ e anot\adddot\ por}},
byeditortrin = {{editado, traduzido \lbx@lfromlang\ e introduzido por}%
- {ed.,\addabbrvspace trad. \lbx@sfromlang\ e introd\adddot\ por}},
+ {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ e introd\adddot\ por}},
byeditortrfo = {{editado, traduzido \lbx@lfromlang\ e prefaciado por}%
- {ed.,\addabbrvspace trad. \lbx@sfromlang\ e pref\adddot\ por}},
+ {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ e pref\adddot\ por}},
byeditortraf = {{editado, traduzido \lbx@lfromlang\ e posfaciado por}%
- {ed.,\addabbrvspace trad. \lbx@sfromlang\ e posf\adddot\ por}},
+ {ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang\ e posf\adddot\ por}},
byeditorcoin = {{editado, comentado e introduzido por}%
{ed.,\addabbrvspace coment\adddot\ e introd\adddot\ por}},
byeditorcofo = {{editado, comentado e prefaciado por}%
@@ -534,6 +534,23 @@
summer = {{ver\~ao}{ver\~ao}},
autumn = {{outono}{outono}},
winter = {{inverno}{inverno}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{AM}{AM}},
pm = {{PM}{PM}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/romanian.lbx b/macros/latex/contrib/biblatex/latex/lbx/romanian.lbx
new file mode 100644
index 0000000000..bc95e1ef55
--- /dev/null
+++ b/macros/latex/contrib/biblatex/latex/lbx/romanian.lbx
@@ -0,0 +1,683 @@
+\ProvidesFile{romanian.lbx}
+[\abx@lbxid]
+
+\DeclareRedundantLanguages{romanian}{romanian}
+
+\lbx@ifutfinput
+ {}
+ {\PackageError{biblatex}
+ {Romanian requires UTF-8 support}
+ {The file 'romanian.lbx' requires UTF-8 encoding but you
+ seem\MessageBreak to be using a different encoding.
+ This is a fatal error. I will\MessageBreak abort loading
+ romanian.lbx now.}%
+ \endinput}
+
+\DeclareBibliographyExtras{%
+ \savecommand\newunitpunct
+ \renewcommand*{\newunitpunct}{\addcomma\space}%
+ \savecommand\intitlepunct
+ \renewcommand*{\intitlepunct}{\addspace}%
+ \savecommand\subtitlepunct
+ \renewcommand*{\subtitlepunct}{\addperiod\space}%
+ \DeclareCapitalPunctuation{.:!?}%
+ \protected\def\bibrangedash{%
+ \textendash\penalty\hyphenpenalty}% breakable dash
+ \savecommand\bibdaterangesep
+ \protected\def\bibdaterangesep{%
+ \iftoggle{lbx@ro@dayrange}
+ {\textendash}
+ {\addnbspace\textendash\addnbspace}}%
+ \let\finalandcomma=\empty
+ \let\finalandsemicolon=\empty
+ \protected\def\mkbibmascord#1{%
+ \ifnumgreater{#1}{1}
+ {\autocap{a}~}
+ {}%
+ #1-lea}%
+ \protected\def\mkbibfemord#1{%
+ \ifnumgreater{#1}{1}
+ {\autocap{a}~}
+ {}%
+ #1-a}%
+ \protected\def\mkbibneutord{\mkbibmascord}%
+ \savecommand\mkbibordedition
+ \savecommand\mkbibordseries
+ \def\mkbibordedition{\mkbibfemord}%
+ \def\mkbibordseries{\mkbibfemord}%
+ \protected\def\mkbibdatelong#1#2#3{%
+ \iffieldundef{#3}
+ {}
+ {\thefield{#3}%
+ \iffieldundef{#2}{}{\nobreakspace}}%
+ \iffieldundef{#2}
+ {}
+ {\mkbibmonth{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
+ \protected\def\mkbibdateshort#1#2#3{%
+ \iffieldundef{#3}
+ {}
+ {\thefield{#3}\adddot}%
+ \iffieldundef{#2}
+ {}
+ {\thefield{#2}\adddot}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}
+ {}
+ {\mktimezeros{\thefield{#1}}%
+ \iffieldundef{#2}{}{\bibtimesep}}%
+ \iffieldundef{#2}
+ {}
+ {\mktimezeros{\thefield{#2}}%
+ \iffieldundef{#3}{}{\bibtimesep}}%
+ \iffieldundef{#3}
+ {}
+ {\mktimezeros{\thefield{#3}}}%
+ \iffieldundef{#4}{}
+ {\bibtimezonesep
+ \mkbibtimezone{\thefield{#4}}}}%
+ \expandafter\protected\expandafter\def\csname mkbibtime12h\endcsname#1#2#3#4{%
+ \stripzeros{\mktimehh{\thefield{#1}}}\bibtimesep
+ \forcezerosmdt{\thefield{#2}}%
+ \iffieldundef{#3}{}
+ {\bibtimesep
+ \forcezerosmdt{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \savecommand\mkdaterangetrunc@i
+ \savecommand\mkdaterangetruncextra@i
+ \def\mkdaterangetrunc@i{\lbx@ro@mkdaterangetrunc@i}%
+ \def\mkdaterangetruncextra@i{\lbx@ro@mkdaterangetruncextra@i}%
+}
+
+\UndeclareBibliographyExtras{%
+ \restorecommand\bibdaterangesep
+ \restorecommand\newunitpunct
+ \restorecommand\intitlepunct
+ \restorecommand\subtitlepunct
+ \restorecommand\mkbibordedition
+ \restorecommand\mkbibordseries
+ \restorecommand\mkdaterangetrunc@i
+ \restorecommand\mkdaterangetruncextra@i
+}
+
+\DeclareBibliographyStrings{%
+ bibliography = {{Bibliografie}{Bibliografie}},
+ references = {{Referințe}{Referințe}},
+ shorthands = {{Lista Abrevierilor}{Abrevieri}},
+ editor = {{editor}{ed\adddot}},
+ editors = {{editori}{ed\adddot}},
+ compiler = {{redactor}{red\adddot}},
+ compilers = {{redactori}{red\adddot}},
+ redactor = {{redactor}{red\adddot}},
+ redactors = {{redactori}{red\adddot}},
+ reviser = {{revizor}{rev\adddot}},
+ revisers = {{revizori}{rev\adddot}},
+ founder = {{fondator}{fond\adddot}},
+ founders = {{fondatori}{fond\adddot}},
+ continuator = {{continuator}{cont\adddot}},% FIXME: unsure
+ continuators = {{continuatori}{cont\adddot}},% FIXME: unsure
+ collaborator = {{colaborator}{colab\adddot}},% FIXME: unsure
+ collaborators = {{colaboratori}{colab\adddot}},% FIXME: unsure
+ translator = {{traducător}{trad\adddot}},
+ translators = {{traducători}{trad\adddot}},
+ commentator = {{comentator}{coment\adddot}},
+ commentators = {{comentatori}{coment\adddot}},
+ annotator = {{adnotator}{adnot\adddot}},
+ annotators = {{adnotatori}{adnot\adddot}},
+ commentary = {{comentariu}{com\adddot}},
+ annotations = {{note}{note}},
+ introduction = {{introducere}{introd\adddot}},
+ foreword = {{prefață}{pref\adddot}},
+ afterword = {{postfață}{postf\adddot}},
+ editortr = {{editor și traducător}%
+ {ed\adddotspace și trad\adddot}},
+ editorstr = {{editori și traducători}%
+ {ed\adddotspace și trad\adddot}},
+ editorco = {{editor și comentator}%
+ {ed\adddotspace și coment\adddot}},
+ editorsco = {{editori și comentatori}%
+ {ed\adddotspace și coment\adddot}},
+ editoran = {{editor și adnotator}%
+ {ed\adddotspace și adnot\adddot}},
+ editorsan = {{editori și adnotatori}%
+ {ed\adddotspace și adnot\adddot}},
+ editorin = {{editor și introducere}%
+ {ed\adddotspace și introd\adddot}},
+ editorsin = {{editori și introducere}%
+ {ed\adddotspace și introd\adddot}},
+ editorfo = {{editor și prefață}%
+ {ed\adddotspace și pref\adddot}},
+ editorsfo = {{editori și prefață}%
+ {ed\adddotspace și pref\adddot}},
+ editoraf = {{editor și postfață}%
+ {ed\adddotspace și postf\adddot}},
+ editorsaf = {{editori și postfață}%
+ {ed\adddotspace și postf\adddot}},
+ editortrco = {{editor, traducător\ și comentator}%
+ {ed.,\addabbrvspace trad\adddot\ și coment\adddot}},
+ editorstrco = {{editori, traducători\ și comentatori}%
+ {ed.,\addabbrvspace trad\adddot\ și coment\adddot}},
+ editortran = {{editor, traducător\ și adnotator}%
+ {ed.,\addabbrvspace trad\adddot\ și adnot\adddot}},
+ editorstran = {{editori, traducători\ și adnotatori}%
+ {ed.,\addabbrvspace trad\adddot\ și adnot\adddot}},
+ editortrin = {{editor, traducător\ și introducere}%
+ {ed.,\addabbrvspace trad\adddot\ și introd\adddot}},
+ editorstrin = {{editori, traducători\ și introducere}%
+ {ed.,\addabbrvspace trad\adddot\ și introd\adddot}},
+ editortrfo = {{editor, traducător\ și prefață}%
+ {ed.,\addabbrvspace trad\adddot\ și pref\adddot}},
+ editorstrfo = {{editori, traducători\ și prefață}%
+ {ed.,\addabbrvspace trad\adddot\ și pref\adddot}},
+ editortraf = {{editor, traducător\ și postfață}%
+ {ed.,\addabbrvspace trad\adddot\ și postf\adddot}},
+ editorstraf = {{editori, traducători\ și postfață}%
+ {ed.,\addabbrvspace trad\adddot\ și postf\adddot}},
+ editorcoin = {{editor, comentator\ și introducere}%
+ {ed.,\addabbrvspace coment\adddot\ și introd\adddot}},
+ editorscoin = {{editori, comentatori\ și introducere}%
+ {ed.,\addabbrvspace coment\adddot\ și introd\adddot}},
+ editorcofo = {{editor, comentator\ și prefață}%
+ {ed.,\addabbrvspace coment\adddot\ și pref\adddot}},
+ editorscofo = {{editori, comentatori\ și prefață}%
+ {ed.,\addabbrvspace coment\adddot\ și pref\adddot}},
+ editorcoaf = {{editor, comentator\ și postfață}%
+ {ed.,\addabbrvspace coment\adddot\ și postf\adddot}},
+ editorscoaf = {{editori, comentatori\ și prefață}%
+ {ed.,\addabbrvspace coment\adddot\ și pref\adddot}},
+ editoranin = {{editor, adnotator\ și introducere}%
+ {ed.,\addabbrvspace adnot\adddot\ și introd\adddot}},
+ editorsanin = {{editori, adnotatori\ și introducere}%
+ {ed.,\addabbrvspace adnot\adddot\ și introd\adddot}},
+ editoranfo = {{editor, adnotator\ și prefață}%
+ {ed.,\addabbrvspace adnot\adddot\ și pref\adddot}},
+ editorsanfo = {{editori, adnotatori\ și prefață}%
+ {ed.,\addabbrvspace adnot\adddot\ și pref\adddot}},
+ editoranaf = {{editor, adnotator\ și postfață}%
+ {ed.,\addabbrvspace adnot\adddot\ și postf\adddot}},
+ editorsanaf = {{editori, adnotatori\ și postfață}%
+ {ed.,\addabbrvspace adnot\adddot\ și postf\adddot}},
+ editortrcoin = {{editor, traducător, comentator\ și introducere}%
+ {ed.,\addabbrvspace trad., coment\adddot\ și introd\adddot}},
+ editorstrcoin = {{editori, traducători, comentatori\ și introducere}%
+ {ed.,\addabbrvspace trad., coment\adddot\ și introd\adddot}},
+ editortrcofo = {{editor, traducător, comentator\ și prefață}%
+ {ed.,\addabbrvspace trad., coment\adddot\ și pref\adddot}},
+ editorstrcofo = {{editori, traducători, comentatori\ și prefață}%
+ {ed.,\addabbrvspace trad., coment\adddot\ și pref\adddot}},
+ editortrcoaf = {{editor, traducător, comentator\ și postfață}%
+ {ed.,\addabbrvspace trad., coment\adddot\ și postf\adddot}},
+ editorstrcoaf = {{editori, traducători, comentatori\ și postfață}%
+ {ed.,\addabbrvspace trad., coment\adddot\ și postf\adddot}},
+ editortranin = {{editor, traducător, adnotator\ și introducere}%
+ {ed.,\addabbrvspace trad., adnot\adddot\ și introd\adddot}},
+ editorstranin = {{editori, traducători, adnotatori\ și introducere}%
+ {ed.,\addabbrvspace trad., adnot\adddot\ și introd\adddot}},
+ editortranfo = {{editor, traducător, adnotator\ și prefață}%
+ {ed.,\addabbrvspace trad., adnot\adddot\ și pref\adddot}},
+ editorstranfo = {{editori, traducători, adnotatori\ și prefață}%
+ {ed.,\addabbrvspace trad., adnot\adddot\ și pref\adddot}},
+ editortranaf = {{editor, traducător, adnotator\ și postfață}%
+ {ed.,\addabbrvspace trad., adnot\adddot\ și postf\adddot}},
+ editorstranaf = {{editori, traducători, adnotatori\ și postfață}%
+ {ed.,\addabbrvspace trad., adnot\adddot\ și postf\adddot}},
+ translatorco = {{traducător și comentator}%
+ {trad\adddot\ și coment\adddot}},
+ translatorsco = {{traducători și comentatori}%
+ {trad\adddot\ și coment\adddot}},
+ translatoran = {{traducător și adnotator}%
+ {trad\adddot\ și adnot\adddot}},
+ translatorsan = {{traducători și adnotatori}%
+ {trad\adddot\ și adnot\adddot}},
+ translatorin = {{traducere și introducere}%
+ {trad\adddot\ și introd\adddot}},
+ translatorsin = {{traducere și introducere}%
+ {trad\adddot\ și introd\adddot}},
+ translatorfo = {{traducere și prefață}%
+ {trad\adddot\ și pref\adddot}},
+ translatorsfo = {{traducere și prefață}%
+ {trad\adddot\ și pref\adddot}},
+ translatoraf = {{traducere și postfață}%
+ {trad\adddot\ și postf\adddot}},
+ translatorsaf = {{traducere și postfață}%
+ {trad\adddot\ și postf\adddot}},
+ translatorcoin = {{traducere, comentarii\ și introducere}%
+ {trad., coment\adddot\ și introd\adddot}},
+ translatorscoin = {{traducere, comentarii\ și introducere}%
+ {trad., coment\adddot\ și introd\adddot}},
+ translatorcofo = {{traducere, comentarii\ și prefață}%
+ {trad., coment\adddot\ și pref\adddot}},
+ translatorscofo = {{traducere, comentarii\ și prefață}%
+ {trad., coment\adddot\ și pref\adddot}},
+ translatorcoaf = {{traducere, comentarii\ și postfață}%
+ {trad., coment\adddot\ și postf\adddot}},
+ translatorscoaf = {{traducere, comentarii\ și postfață}%
+ {trad., coment\adddot\ și postf\adddot}},
+ translatoranin = {{traducere, note\ și introducere}%
+ {trad., note\ și introd\adddot}},
+ translatorsanin = {{traducere, note\ și introducere}%
+ {trad., note\ și introd\adddot}},
+ translatoranfo = {{traducere, note\ și prefață}%
+ {trad., note\ și pref\adddot}},
+ translatorsanfo = {{traducere, note\ și prefață}%
+ {trad., note\ și pref\adddot}},
+ translatoranaf = {{traducere, note\ și postfață}%
+ {trad., note\ și postf\adddot}},
+ translatorsanaf = {{traducere, note\ și postfață}%
+ {trad., note\ și postf\adddot}},
+ organizer = {{organizator}{org\adddot}},
+ organizers = {{organizatori}{org\adddot}},
+ byorganizer = {{organizat de}{org\adddotspace de}},
+ byauthor = {{de}{de}},
+ byeditor = {{editat de}{ed\adddotspace de}},
+ bycompiler = {{redactat de}{red\adddotspace de}},
+ byredactor = {{redactat de}{red\adddotspace de}},
+ byreviser = {{revizuit de}{rev\adddotspace de}},
+ byreviewer = {{revizuit de}{rev\adddotspace de}},
+ byfounder = {{fondat de}{fond\adddotspace de}},
+ bycontinuator = {{continuat de}{cont\adddotspace de}},
+ bycollaborator = {{în colaborare cu}{în colab\adddotspace cu}},% FIXME: unsure
+ bytranslator = {{traducere \lbx@lfromlang\ de}{trad\adddot\ \lbx@sfromlang\ de}},
+ bycommentator = {{comentarii de}{coment\adddot\ de}},
+ byannotator = {{note de}{note de}},
+ withcommentator = {{cu comentarii de}{cu coment\adddot\ de}},
+ withannotator = {{cu note de}{cu note de}},
+ withintroduction = {{cu o introducere de}{cu o introd\adddot\ de}},
+ withforeword = {{cu o prefață de}{cu o pref\adddot\ de}},
+ withafterword = {{cu o postfață de}{cu o postf\adddot\ de}},
+ byeditortr = {{editare și traducere \lbx@lfromlang\ de}%
+ {ed\adddotspace și trad\adddot\ \lbx@sfromlang\ de}},
+ byeditorco = {{editare și comentarii de}%
+ {ed\adddotspace și coment\adddot\ de}},
+ byeditoran = {{editare și note de}%
+ {ed\adddotspace și note de}},
+ byeditorin = {{editare, cu o introducere, de}%
+ {ed.,\addabbrvspace cu o introd., de}},
+ byeditorfo = {{editare, cu o prefață, de}%
+ {ed.,\addabbrvspace cu o pref., de}},
+ byeditoraf = {{editare, cu o postfață, de}%
+ {ed.,\addabbrvspace cu o postf., de}},
+ byeditortrco = {{editare, traducere \lbx@lfromlang\ și comentarii de}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ și coment\adddot\ de}},
+ byeditortran = {{editare, traducere \lbx@lfromlang\ și note de}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ și note de}},
+ byeditortrin = {{editare și traducere \lbx@lfromlang, cu o introducere, de}%
+ {ed\adddotspace și trad\adddot\ \lbx@sfromlang, cu o introd., de}},
+ byeditortrfo = {{editare și traducere \lbx@lfromlang, cu o prefață, de}%
+ {ed\adddotspace și trad\adddot\ \lbx@sfromlang, cu o pref., de}},
+ byeditortraf = {{editare și traducere \lbx@lfromlang, cu o postfață, de}%
+ {ed\adddotspace și trans\adddot\ \lbx@sfromlang, cu o postf., de}},
+ byeditorcoin = {{editare și comentarii, cu o introducere, de}%
+ {ed\adddotspace și coment., cu o introd., de}},
+ byeditorcofo = {{editare și comentarii, cu o prefață, de}%
+ {ed\adddotspace și coment., cu o pref., de}},
+ byeditorcoaf = {{editare și comentarii, cu o postfață, de}%
+ {ed\adddotspace și coment., cu o postf., de}},
+ byeditoranin = {{editare și note, cu o introducere, de}%
+ {ed\adddotspace și note, cu o introd., de}},
+ byeditoranfo = {{editare și note, cu o prefață, de}%
+ {ed\adddotspace și note, cu o pref., de}},
+ byeditoranaf = {{editare și note, cu o postfață, de}%
+ {ed\adddotspace și note, cu o postf., de}},
+ byeditortrcoin = {{editare, traducere \lbx@lfromlang\ și comentarii, cu o introducere, de}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ și coment., cu o introd., de}},
+ byeditortrcofo = {{editare, traducere \lbx@lfromlang\ și comentarii, cu o prefață, de}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ și coment., cu o pref., de}},
+ byeditortrcoaf = {{editare, traducere \lbx@lfromlang\ și comentarii, cu o postfață, de}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ și coment., cu o postf., de}},
+ byeditortranin = {{editare, traducere \lbx@lfromlang\ și note, cu o introducere, de}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ și note, cu o introd., de}},
+ byeditortranfo = {{editare, traducere \lbx@lfromlang\ și note, cu o prefață, de}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ și note, cu o pref., de}},
+ byeditortranaf = {{editare, traducere \lbx@lfromlang\ și note, cu o postfață, de}%
+ {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ și note, cu o postf., de}},
+ bytranslatorco = {{traducere \lbx@lfromlang\ și comentarii de}%
+ {trad\adddot\ \lbx@sfromlang\ și coment\adddot\ de}},
+ bytranslatoran = {{traducere \lbx@lfromlang\ și note de}%
+ {trad\adddot\ \lbx@sfromlang\ și note de}},
+ bytranslatorin = {{traducere \lbx@lfromlang, cu o introducere, de}%
+ {trad\adddot\ \lbx@sfromlang, cu o introd., de}},
+ bytranslatorfo = {{traducere \lbx@lfromlang, cu o prefață, de}%
+ {trad\adddot\ \lbx@sfromlang, cu o pref., de}},
+ bytranslatoraf = {{traducere \lbx@lfromlang, cu o postfață, de}%
+ {trad\adddot\ \lbx@sfromlang, cu o postf., de}},
+ bytranslatorcoin = {{traducere \lbx@lfromlang\ și comentarii, cu o introducere, de}%
+ {trad\adddot\ \lbx@sfromlang\ și coment., cu o introd., de}},
+ bytranslatorcofo = {{traducere \lbx@lfromlang\ și comentarii, cu o prefață, de}%
+ {trad\adddot\ \lbx@sfromlang\ și coment., cu o pref., de}},
+ bytranslatorcoaf = {{traducere \lbx@lfromlang\ și comentarii, cu o postfață, de}%
+ {trad\adddot\ \lbx@sfromlang\ și coment., cu o postf., de}},
+ bytranslatoranin = {{traducere \lbx@lfromlang\ și note, cu o introducere, de}%
+ {trad\adddot\ \lbx@sfromlang\ și note, cu o introd., de}},
+ bytranslatoranfo = {{traducere \lbx@lfromlang\ și note, cu o prefață, de}%
+ {trad\adddot\ \lbx@sfromlang\ și note, cu o pref., de}},
+ bytranslatoranaf = {{traducere \lbx@lfromlang\ și note, cu o postfață, de}%
+ {trad\adddot\ \lbx@sfromlang\ și note, cu o postf., de}},
+ and = {{și}{și}},
+ andothers = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}},
+ andmore = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}},
+ volume = {{volum}{vol\adddot}},
+ volumes = {{volume}{vol\adddot}},
+ involumes = {{în}{în}},
+ jourvol = {{volumul}{vol\adddot}},
+ jourser = {{serii}{ser\adddot}},
+ book = {{carte}{carte}},
+ part = {{partea}{partea}},
+ issue = {{număr}{nr\adddot}},
+ newseries = {{serie nouă}{ser\adddotspace nouă}},
+ oldseries = {{serie anterioară}{ser\adddotspace anterioară}},
+ edition = {{ediție}{ed\adddot}},
+ reprint = {{republicat}{repub\adddot}},
+ reprintof = {{republicat în}{repub\adddotspace în}},
+ reprintas = {{republicat ca}{repub\adddotspace ca}},
+ reprintfrom = {{republicat din}{repub\adddotspace din}},
+ reviewof = {{revizuit în}{rev\adddotspace în}},
+ translationof = {{traducere în}{trad\adddotspace în}},
+ translationas = {{traducere ca}{trad\adddotspace ca}},
+ translationfrom = {{traducere din}{trad\adddotspace din}},
+ origpubas = {{publicat original ca}{publ\adddotspace orig\adddotspace ca}},
+ origpubin = {{publicat original în}{pub\adddotspace orig\adddotspace în}},
+ astitle = {{ca}{ca}},
+ bypublisher = {{de}{de}},
+ nodate = {{fără dată}{f\adddot d\adddot}},
+ page = {{pagina}{p\adddot}},
+ pages = {{paginile}{pp\adddot}},
+ column = {{coloana}{col\adddot}},
+ columns = {{coloanele}{col\adddot}},
+ line = {{linia}{l\adddot}},
+ lines = {{liniile}{ll\adddot}},
+ verse = {{versul}{v\adddot}},
+ verses = {{versuri}{vv\adddot}},
+ section = {{secțiunea}{\S}},
+ sections = {{secțiuni}{\S\S}},
+ paragraph = {{paragraf}{par\adddot}},
+ paragraphs = {{paragrafe}{par\adddot}},
+ pagetotal = {{pagină}{p\adddot}},
+ pagetotals = {{pagini}{pp\adddot}},
+ columntotal = {{coloană}{col\adddot}},
+ columntotals = {{coloane}{col\adddot}},
+ linetotal = {{linia}{l\adddot}},
+ linetotals = {{linii}{ll\adddot}},
+ versetotal = {{vers}{v\adddot}},
+ versetotals = {{versuri}{vv\adddot}},
+ sectiontotal = {{secțiune}{\S}},
+ sectiontotals = {{secțiuni}{\S\S}},
+ paragraphtotal = {{paragrafe}{par\adddot}},
+ paragraphtotals = {{paragrafe}{par\adddot}},
+ in = {{în}{în}},
+ inseries = {{în}{în}},
+ ofseries = {{din}{din}},
+ number = {{număr}{nr\adddot}},
+ chapter = {{capitol}{cap\adddot}},
+ bathesis = {{Teză de licență}{Teză de lic\adddot}},
+ mathesis = {{Teză de dizertație}{Teză de dizert\adddot}},
+ phdthesis = {{Teză de doctorat}{Teză de doct\adddot}},
+ candthesis = {{Teză de abilitare}{Teză de abilit\adddot}}, % not sure
+ resreport = {{raport de cercetare}{rap\adddotspace de cercet\adddot}},
+ techreport = {{raport tehnic}{rap\adddotspace teh\adddot}},
+ software = {{computer software}{comp\adddotspace software}},
+ datacd = {{CD-ROM}{CD-ROM}},
+ audiocd = {{CD audio}{CD audio}},
+ version = {{versiunea}{versiunea}},
+ url = {{adresa}{adresa}},
+ urlfrom = {{disponibil la}{disponibil la}},
+ urlseen = {{accesat în}{accesat în}},
+ inpreparation = {{în pregătire}{în pregătire}},
+ submitted = {{depus}{depus}},
+ forthcoming = {{în curs de apariție}{în curs de apariție}},
+ inpress = {{bun de tipar}{bun de tipar}},
+ prepublished = {{prepublicat}{prepublicat}},
+ citedas = {{în continuare citat ca}{în cont\adddotspace cit\adddotspace ca}},
+ thiscite = {{în special}{în spec\adddot}},
+ seenote = {{vezi nota}{vezi n\adddot}},
+ quotedin = {{citat în}{cit\adddotspace în}},
+ idem = {{idem}{idem}},
+ idemsm = {{idem}{idem}},
+ idemsf = {{eadem}{eadem}},
+ idemsn = {{idem}{idem}},
+ idempm = {{eidem}{eidem}},
+ idempf = {{eaedem}{eaedem}},
+ idempn = {{eadem}{eadem}},
+ idempp = {{eidem}{eidem}},
+ ibidem = {{ibidem}{ibid\adddot}},
+ opcit = {{op\adddotspace cit\adddot}{op\adddotspace cit\adddot}},
+ loccit = {{loc\adddotspace cit\adddot}{loc\adddotspace cit\adddot}},
+ confer = {{cf\adddot}{cf\adddot}},
+ sequens = {{sq\adddot}{sq\adddot}},
+ sequentes = {{sqq\adddot}{sqq\adddot}},
+ passim = {{passim}{pass\adddot}},
+ see = {{vezi}{vezi}},
+ seealso = {{vezi de asemenea}{vezi de asemenea}},
+ backrefpage = {{citat în pagina}{cit\adddotspace în p\adddot}},
+ backrefpages = {{citat în paginile}{cit\adddotspace în pp\adddot}},
+ january = {{Ianuarie}{Ian\adddot}},
+ february = {{Februarie}{Feb\adddot}},
+ march = {{Martie}{Mar\adddot}},
+ april = {{Aprilie}{Apr\adddot}},
+ may = {{Mai}{Mai}},
+ june = {{Iunie}{Iun\adddot}},
+ july = {{Iulie}{Iul\adddot}},
+ august = {{August}{Aug\adddot}},
+ september = {{Septembrie}{Sept\adddot}},
+ october = {{Octombrie}{Oct\adddot}},
+ november = {{Noiembrie}{Nov\adddot}},
+ december = {{Decembrie}{Dec\adddot}},
+ langamerican = {{Engleză}{Engleză}},
+ langbasque = {{Bască}{Bască}},
+ langbrazilian = {{Braziliană}{Braziliană}},
+ langbulgarian = {{Bulgară}{Bulgară}},
+ langcatalan = {{Catalană}{Catalană}},
+ langcroatian = {{Croată}{Croată}},
+ langczech = {{Cehă}{Cehă}},
+ langdanish = {{Daneză}{Daneză}},
+ langdutch = {{Olandeză}{Olandeză}},
+ langenglish = {{Engleză}{Engleză}},
+ langestonian = {{Estonă}{Estonă}},
+ langfinnish = {{Finlandeză}{Finlandeză}},
+ langfrench = {{Franceză}{Franceză}},
+ langgalician = {{Galeză}{Galeză}},
+ langgerman = {{Germană}{Germană}},
+ langgreek = {{Greacă}{Greacă}},
+ langhungarian = {{Maghiară}{Maghiară}},
+ langitalian = {{Italiană}{Italiană}},
+ langjapanese = {{Japoneză}{Japoneză}},
+ langlatin = {{Latină}{Latină}},
+ langlatvian = {{Letonă}{Letonă}},
+ langlithuanian = {{Lituaniană}{Lituaniană}},
+ langnorwegian = {{Norvegiană}{Norvegiană}},
+ langpolish = {{Polonă}{Polonă}},
+ langportuguese = {{Portugheză}{Portugheză}},
+ langamerican = {{Engleză}{Engleză}},
+ langromanian = {{Română}{Română}},
+ langrussian = {{Rusă}{Rusă}},
+ langserbian = {{Sârbă}{Sârbă}},
+ langslovak = {{Slovacă}{Slovacă}},
+ langslovene = {{Slovenă}{Slovenă}},
+ langspanish = {{Spaniolă}{Spaniolă}},
+ langswedish = {{Suedeză}{Suedeză}},
+ langturkish = {{Turcă}{Turcă}},
+ langukrainian = {{Ucraineană}{Ucraineană}},
+ fromamerican = {{din engleză}{din engleză}},
+ frombasque = {{din bască}{din bască}},
+ frombrazilian = {{din braziliană}{din braziliană}},
+ frombulgarian = {{din bulgară}{din bulgară}},
+ fromcatalan = {{din catalană}{din catalană}},
+ fromcroatian = {{din Croatian}{din Croatian}},
+ fromczech = {{din cehă}{din cehă}},
+ fromdanish = {{din daneză}{din daneză}},
+ fromdutch = {{din olandeză}{din olandeză}},
+ fromenglish = {{din engleză}{din engleză}},
+ fromestonian = {{din estonă}{din estonă}},
+ fromfinnish = {{din finlandeză}{din finlandeză}},
+ fromfrench = {{din franceză}{din franceză}},
+ fromgalician = {{din galiciană}{din galiciană}},
+ fromgerman = {{din germană}{din germană}},
+ fromgreek = {{din greacă}{din greacă}},
+ fromhungarian = {{din maghiară}{din maghiară}},
+ fromitalian = {{din italiană}{din italiană}},
+ fromjapanese = {{din japoneză}{din japoneză}},
+ fromlatin = {{din latină}{din latină}},
+ fromlatvian = {{din letonă}{din letonă}},
+ fromlithuanian = {{din lituaniană}{din lituaniană}},
+ fromnorwegian = {{din norvegiană}{din norvegiană}},
+ frompolish = {{din poloneză}{din poloneză}},
+ fromportuguese = {{din portugheză}{din portugheză}},
+ fromrussian = {{din rusă}{din rusă}},
+ fromserbian = {{din sârbă}{din sârbă}},
+ fromslovak = {{din slovacă}{din slovacă}},
+ fromslovene = {{din slovenă}{din slovenă}},
+ fromspanish = {{din spaniolă}{din slovenă}},
+ fromswedish = {{din suedeză}{fdin suedeză}},
+ fromturkish = {{din turcă}{din turcă}},
+ fromukrainian = {{din ucraineană}{din ucraineană}},
+ countryde = {{Germania}{DE}},
+ countryeu = {{Uniunea Europeană}{UE}},
+ countryep = {{Uniunea Europeană}{EP}},
+ countryfr = {{Franța}{FR}},
+ countryuk = {{Marea Britanie}{GB}},
+ countryus = {{Statele Unite ale Americii}{SUA}},
+ patent = {{brevet}{brev\adddot}},
+ patentde = {{brevet german}{brev\adddotspace german}},
+ patenteu = {{brevet european}{brev\adddotspace european}},
+ patentfr = {{brevet francez}{brev\adddotspace francez}},
+ patentuk = {{brevet englezesc}{brev\adddotspace englezesc}},
+ patentus = {{brevet american}{brev\adddotspace american}},
+ patreq = {{cerere brevet}{cerere brev\adddot}},
+ patreqde = {{cerere brevet german}{cerere brev\adddot\ germ\adddot}},
+ patreqeu = {{cerere brevet european}{cerere brev\adddot\ europ\adddot}},
+ patreqfr = {{cerere brevet francez}{cerere brev\adddot\ franc\adddot}},
+ patrequk = {{cerere brevet englezesc}{cerere brev\adddot\ engl\adddot}},
+ patrequs = {{cerere brevet american}{cerere brev\adddot\ americ\adddot}},
+ file = {{filă}{filă}},
+ library = {{bibliotecă}{bibliotecă}},
+ abstract = {{rezumat}{rezumat}},
+ annotation = {{note}{note}},
+ commonera = {{era noastră}{e\adddot n\adddot}},
+ beforecommonera = {{înaintea erei noastre}{î\adddot e\adddot n\adddot}},
+ annodomini = {{Anul Domnului}{AD}},
+ beforechrist = {{înainte de Hristos}{î\adddot Hr\adddot}},
+ circa = {{circa}{cca\adddot}},
+ spring = {{Primăvara}{Primăvara}},
+ summer = {{Vara}{Vara}},
+ autumn = {{Toamna}{Toamna}},
+ winter = {{Iarna}{Iarna}},
+ springN = {{Primăvara (Emisfera Nordică)}{Primăvara (Emisf\adddotspace Nordică)}},
+ summerN = {{Vara (Emisfera Nordică)}{Vara (Emisf\adddotspace Nordică)}},
+ autumnN = {{Toamna (Emisfera Nordică)}{Toamna (Emisf\adddotspace Nordică)}},
+ winterN = {{Iarna (Emisfera Nordică)}{Iarna (Emisf\adddotspace Nordică)}},
+ springS = {{Primăvara (Emisfera Sudică)}{Primăvara (Emisf\adddotspace Sudică)}},
+ summerS = {{Vara (Emisfera Sudică)}{Vara (Emisf\adddotspace Sudică)}},
+ autumnS = {{Toamna (Emisfera Sudică)}{Toamna (Emisf\adddotspace Sudică)}},
+ winterS = {{Iarna (Emisfera Sudică)}{Iarna (Emisf\adddotspace Sudică)}},
+ Q1 = {{Trimestrul~1}{Trim\adddot~1}},
+ Q2 = {{Trimestrul~2}{Trim\adddot~2}},
+ Q3 = {{Trimestrul~3}{Trim\adddot~3}},
+ Q4 = {{Trimestrul~4}{Trim\adddot~4}},
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+ S1 = {{Semestrul~1}{Sem\adddot~1}},
+ S2 = {{Semestrul~2}{Sem\adddot~2}},
+ am = {{am}{a\adddot m\adddot}},
+ pm = {{pm}{p\adddot m\adddot}},
+}
+
+\global\blx@etb@inittoggle{lbx@ro@dayrange}
+
+\protected\gdef\lbx@ro@mkdaterangetrunc@i#1#2{%
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \iffieldundef{#2year}
+ {\blx@nounit}
+ {\printtext[{#2date}]{%
+ \datecircaprint
+ % Such a yeardivision component can only come from an ISO8601 yeardivision which replaces
+ % a normal month so if it exists, we know that a normal date print is ruled out
+ \iffieldundef{#2yeardivision}
+ {\ifdateyearsequal{#2}{#2end}
+ {\iffieldsequal{#2month}{#2endmonth}
+ {\toggletrue{lbx@ro@dayrange}%
+ \csuse{mkbibdate#1}{}{}{#2day}}
+ {\csuse{mkbibdate#1}{}{#2month}{#2day}}}
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+ \iffieldsequal{#2dateera}{#2enddateera}{}
+ {\dateeraprint{#2year}}}}
+ {\ifdateyearsequal{#2}{#2end}
+ {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}
+ {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}%
+ \iffieldsequal{#2dateera}{#2enddateera}{}
+ {\dateeraprint{#2year}}}}%
+ \dateuncertainprint
+ \iffieldundef{#2endyear}
+ {}
+ {\iffieldequalstr{#2endyear}{}
+ {\mbox{\bibdaterangesep}}
+ {\bibdaterangesep
+ \enddatecircaprint
+ \iffieldundef{#2endyeardivision}
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
+ {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}%
+ \enddateuncertainprint
+ \dateeraprint{#2endyear}}}}}%
+ \endgroup}
+
+\protected\gdef\lbx@ro@mkdaterangetruncextra@i#1#2{%
+ \begingroup
+ \blx@metadateinfo{#2}%
+ \iffieldundef{#2year}
+ {\blx@nounit}
+ {\printtext[{#2date}]{%
+ \datecircaprint
+ % Such a yeardivision component can only come from an ISO8601 yeardivision which replaces
+ % a normal month so if it exists, we know that a normal date print is ruled out
+ \iffieldundef{#2yeardivision}
+ {\ifdateyearsequal{#2}{#2end}
+ {\iffieldsequal{#2month}{#2endmonth}
+ {\toggletrue{lbx@ro@dayrange}%
+ \csuse{mkbibdate#1}{}{}{#2day}}
+ {\csuse{mkbibdate#1}{}{#2month}{#2day}}}
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+ \iffieldsequal{#2dateera}{#2enddateera}{}
+ {\dateeraprint{#2year}}}}
+ {\ifdateyearsequal{#2}{#2end}
+ {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}
+ {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}%
+ \iffieldsequal{#2dateera}{#2enddateera}{}
+ {\dateeraprint{#2year}}}}%
+ \dateuncertainprint
+ \iffieldundef{#2endyear}
+ {\printfield{extradate}}
+ {\iffieldequalstr{#2endyear}{}
+ {\printfield{extradate}%
+ \mbox{\bibdaterangesep}}
+ {\bibdaterangesep
+ \enddatecircaprint
+ \iffieldundef{#2endyeardivision}
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
+ {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}%
+ \printfield{extradate}%
+ \enddateuncertainprint
+ \dateeraprint{#2endyear}}}}%
+ \endgroup}
+
+\endinput
diff --git a/macros/latex/contrib/biblatex/latex/lbx/russian.lbx b/macros/latex/contrib/biblatex/latex/lbx/russian.lbx
index 7d2cf694b1..b0e6ca595e 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/russian.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/russian.lbx
@@ -97,12 +97,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -580,6 +580,23 @@
summer = {{лето}{лето}},
autumn = {{осень}{осень}},
winter = {{зима}{зима}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{ДП}{ДП}},
pm = {{ПП}{ПП}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/serbian.lbx b/macros/latex/contrib/biblatex/latex/lbx/serbian.lbx
index 52faffd931..cf540ec3ed 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/serbian.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/serbian.lbx
@@ -74,12 +74,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep%
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}\adddot}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}\adddot}%
}
@@ -101,6 +101,23 @@
audiocd = {{audio CD}{audio CD}},
august = {{avgust}{avg\adddot}},
autumn = {{jesen}{jesen}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
backrefpage = {{citirano na stranici}{cit\adddot\ na str\adddot}},
backrefpages = {{citirano na stranicama}{cit\adddot\ na str\adddot}},
bathesis = {{ba\v celor rad}{BA\addabbrvspace rad}},
diff --git a/macros/latex/contrib/biblatex/latex/lbx/serbianc.lbx b/macros/latex/contrib/biblatex/latex/lbx/serbianc.lbx
index 1e11519af0..b7e04658d2 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/serbianc.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/serbianc.lbx
@@ -83,12 +83,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep%
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}\adddot}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}\adddot}%
}
@@ -110,6 +110,23 @@
audiocd = {{аудио ЦД}{аудио ЦД}},
august = {{август}{авг\adddot}},
autumn = {{јесен}{јесен}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
backrefpage = {{цитирано на страници}{цит\adddot\ на стр\adddot}},
backrefpages = {{цитирано на страницама}{цит\adddot\ на стр\adddot}},
bathesis = {{бачелор рад}{БА\addabbrvspace рад}},
diff --git a/macros/latex/contrib/biblatex/latex/lbx/slovak.lbx b/macros/latex/contrib/biblatex/latex/lbx/slovak.lbx
index 2e7201e9c8..421d80a4b7 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/slovak.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/slovak.lbx
@@ -67,12 +67,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -530,6 +530,23 @@
summer = {{leto}{leto}},
autumn = {{jese\v{n}}{jese\v{n}}},
winter = {{zima}{zima}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{AM}{AM}},
pm = {{PM}{PM}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/slovene.lbx b/macros/latex/contrib/biblatex/latex/lbx/slovene.lbx
index d1c1df5f41..0efc0295f4 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/slovene.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/slovene.lbx
@@ -67,12 +67,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -529,6 +529,23 @@
% summer = {{}{}},% FIXME: missing
% autumn = {{}{}},% FIXME: missing
% winter = {{}{}},% FIXME: missing
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{dop\adddot}{dop\adddot}},
pm = {{pop\adddot}{pop\adddot}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/spanish.lbx b/macros/latex/contrib/biblatex/latex/lbx/spanish.lbx
index 9f07124a8d..38121886d6 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/spanish.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/spanish.lbx
@@ -80,12 +80,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -207,7 +207,7 @@
byfounder = {{fundado por}{fund\adddotspace por}},
bycontinuator = {{continuado por}{cont\adddotspace por}},
bycollaborator = {{colaboraci\'{o}n de}{col\adddotspace de}},% FIXME: unsure
- bytranslator = {{traducido \lbx@lfromlang\ por}{trad\adddot \lbx@sfromlang\ por}},
+ bytranslator = {{traducido \lbx@lfromlang\ por}{trad\adddotspace \lbx@sfromlang\ por}},
bycommentator = {{comentado por}{com\adddotspace por}},
byannotator = {{anotado por}{anot\adddotspace por}},
withcommentator = {{con comentario de}{con com\adddotspace de}},
@@ -216,7 +216,7 @@
withforeword = {{con pr\'ologo de}{con pr\'ol\adddotspace de}},
withafterword = {{con ep\'{i}logo de}{con ep\'{\i}l\adddotspace de}},
byeditortr = {{editado y traducido \lbx@lfromlang\ por}%
- {ed\adddotspace y trad\adddot \lbx@sfromlang\ por}},
+ {ed\adddotspace y trad\adddotspace \lbx@sfromlang\ por}},
byeditorco = {{editado y comentado por}%
{ed\adddotspace y com\adddotspace por}},
byeditoran = {{editado y anotado por}%
@@ -272,17 +272,17 @@
bytranslatoraf = {{traducido \lbx@lfromlang\ y epilogado por}%
{trad\adddotspace \lbx@sfromlang\ y ep\'{\i}l\adddotspace por}},
bytranslatorcoin = {{traducido \lbx@lfromlang, comentado e introducido por}%
- {trad\adddot \lbx@sfromlang, com\adddotspace e intr\adddotspace por}},
+ {trad\adddotspace \lbx@sfromlang, com\adddotspace e intr\adddotspace por}},
bytranslatorcofo = {{traducido \lbx@lfromlang, comentado y prologado por}%
- {trad\adddot \lbx@sfromlang, com\adddotspace y pr\'ol\adddotspace por}},
+ {trad\adddotspace \lbx@sfromlang, com\adddotspace y pr\'ol\adddotspace por}},
bytranslatorcoaf = {{traducido \lbx@lfromlang, comentado y epilogado por}%
- {trad\adddot \lbx@sfromlang, com\adddotspace y ep\'{\i}l\adddotspace por}},
+ {trad\adddotspace \lbx@sfromlang, com\adddotspace y ep\'{\i}l\adddotspace por}},
bytranslatoranin = {{traducido \lbx@lfromlang, anotado e introducido por}%
- {trad\adddot \lbx@sfromlang, anot\adddotspace e intr\adddotspace por}},
+ {trad\adddotspace \lbx@sfromlang, anot\adddotspace e intr\adddotspace por}},
bytranslatoranfo = {{traducido \lbx@lfromlang, anotado y prologado por}%
- {trad\adddot \lbx@sfromlang, anot\adddotspace y pr\'ol\adddotspace por}},
+ {trad\adddotspace \lbx@sfromlang, anot\adddotspace y pr\'ol\adddotspace por}},
bytranslatoranaf = {{traducido \lbx@lfromlang, anotado y epilogado por}%
- {trad\adddot \lbx@sfromlang, anot\adddotspace y ep\'{\i}l\adddotspace por}},
+ {trad\adddotspace \lbx@sfromlang, anot\adddotspace y ep\'{\i}l\adddotspace por}},
and = {{y}{y}},
andothers = {{y~col\adddot}{y~col\adddot}},
andmore = {{et\adddotspace al\adddot}{et\adddotspace al\adddot}},
@@ -481,6 +481,23 @@
summer = {{verano}{ver\adddot}},
autumn = {{oto\~no}{ot\adddot}},
winter = {{invierno}{inv\adddot}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{a\adddotspace m\adddot}{a\adddot m\adddot}},
pm = {{p\adddotspace m\adddot}{p\adddot m\adddot}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/swedish.lbx b/macros/latex/contrib/biblatex/latex/lbx/swedish.lbx
index 2ac4fb301b..9bf171b2c3 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/swedish.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/swedish.lbx
@@ -104,12 +104,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -507,6 +507,23 @@
% summer = {{}{}},% FIXME: missing
% autumn = {{}{}},% FIXME: missing
% winter = {{}{}},% FIXME: missing
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{fm}{fm}},
pm = {{em}{em}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/turkish.lbx b/macros/latex/contrib/biblatex/latex/lbx/turkish.lbx
index ad999c180e..6e6711ff08 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/turkish.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/turkish.lbx
@@ -65,12 +65,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
\savecommand\lbx@lfromlang
@@ -545,6 +545,23 @@
summer = {{Yaz}{Yaz}},
autumn = {{Sonbahar}{Sonbahar}},
winter = {{K\i \c{s}}{K\i \c{s}}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{\"{o}\u{g}leden \"{o}nce}{\"{O}\"{O}}},
pm = {{\"{o}\u{g}leden sonra}{\"{O}S}},
}
diff --git a/macros/latex/contrib/biblatex/latex/lbx/ukrainian.lbx b/macros/latex/contrib/biblatex/latex/lbx/ukrainian.lbx
index 19b2a2e189..e792c25a64 100644
--- a/macros/latex/contrib/biblatex/latex/lbx/ukrainian.lbx
+++ b/macros/latex/contrib/biblatex/latex/lbx/ukrainian.lbx
@@ -97,12 +97,12 @@
\iffieldundef{#4}{}
{\space\bibtimezonesep
\parentext{\mkbibtimezone{\thefield{#4}}}}}%
- \protected\def\mkbibseasondateshort#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondateshort#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
- \protected\def\mkbibseasondatelong#1#2{%
- \mkbibseason{\thefield{#2}}%
+ \protected\def\mkbibyeardivisiondatelong#1#2{%
+ \mkbibyeardivision{\thefield{#2}}%
\iffieldundef{#1}{}{\space}%
\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
@@ -580,6 +580,23 @@
summer = {{літо}{літо}},
autumn = {{осінь}{осінь}},
winter = {{зима}{зима}},
+% springN = {{}{}},% FIXME: missing
+% summerN = {{}{}},% FIXME: missing
+% autumnN = {{}{}},% FIXME: missing
+% winterN = {{}{}},% FIXME: missing
+% springS = {{}{}},% FIXME: missing
+% summerS = {{}{}},% FIXME: missing
+% autumnS = {{}{}},% FIXME: missing
+% winterS = {{}{}},% FIXME: missing
+% Q1 = {{}{}},% FIXME: missing
+% Q2 = {{}{}},% FIXME: missing
+% Q3 = {{}{}},% FIXME: missing
+% Q4 = {{}{}},% FIXME: missing
+% QD1 = {{}{}},% FIXME: missing
+% QD2 = {{}{}},% FIXME: missing
+% QD3 = {{}{}},% FIXME: missing
+% S1 = {{}{}},% FIXME: missing
+% S2 = {{}{}},% FIXME: missing
am = {{ДП}{ДП}},
pm = {{ПП}{ПП}},
}
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index ec17a0f52b..e1040bbc69 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -15,7 +15,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2022/02/02}{1.60}
+\ProvidesExplClass{easybook}{2022/02/03}{1.61}
{Typeset Chinese theses or books}
\bool_set_false:N \l__eb_compile_draft_bool
@@ -305,7 +305,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2022/02/02}{1.60}
+\ProvidesExplPackage{easybase}{2022/02/03}{1.61}
{Typeset Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -340,16 +340,10 @@
{ } { \ctex_patch_failure:N ##1 }
}
}
-\cs_new_protected:Npn \eb_preto_cmd:Nn #1#2
- {
- \ctex_preto_cmd:NnnTF #1 { } {#2}
- { } { \ctex_patch_failure:N #1 }
- }
-\cs_new_protected:Npn \eb_appto_cmd:Nn #1#2
- {
- \ctex_appto_cmd:NnnTF #1 { } {#2}
- { } { \ctex_patch_failure:N #1 }
- }
+\cs_new_protected:Npn \eb_preto_cmd:nn #1#2
+ { \AddToHook{cmd/#1/before}{#2} }
+\cs_new_protected:Npn \eb_appto_cmd:nn #1#2
+ { \AddToHook{cmd/#1/after}{#2} }
\cs_new_protected:Npn \eb_at_begin_environment:nn #1#2
{
\eb_seq_map_inline:nn {#1}
@@ -734,7 +728,7 @@
\geometry{showframe}
}
\bool_new:N \l__eb_ps_used_bool
-\eb_appto_cmd:Nn \pagestyle { \bool_set_true:N \l__eb_ps_used_bool }
+\eb_appto_cmd:nn { pagestyle } { \bool_set_true:N \l__eb_ps_used_bool }
\ctex_at_end_preamble:n
{
\bool_if:NF \l__eb_ps_used_bool { \pagestyle{fancy} }
@@ -1477,13 +1471,10 @@
}
}
}
-\cs_if_exist:NT \chapter
+\eb_preto_cmd:nn { @chapter }
{
- \eb_appto_cmd:Nn \@chapter
- {
- \skip_if_eq:nnF { \eb@toc@lol@skip } { \c_zero_skip }
- { \addtocontents{lol}{\protect\addvspace{\skip_use:N \eb@toc@lol@skip}} }
- }
+ \skip_if_eq:nnF { \eb@toc@lol@skip } { \c_zero_skip }
+ { \addtocontents{lol}{\protect\addvspace{\skip_use:N \eb@toc@lol@skip}} }
}
\ctex_define:nn { style }
@@ -2265,7 +2256,7 @@
\cs_new_protected:Npn \eb_allow_url_break:
{
- \eb_appto_cmd:Nn \UrlBreaks
+ \eb_appto_cmd:nn { UrlBreaks }
{
\UrlOrds
\tl_map_function:NN \c__eb_url_break_points_tl \do
@@ -2341,7 +2332,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2022/02/02}{1.60}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2022/02/03}{1.61}
{Customization of tcolorbox for easybook}
\cs_set_protected:Npn \addtotcbstyle #1#2
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index e9d8282bef..a6a70491a3 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex
index 355b35bd00..2ea2f54526 100644
--- a/macros/latex/contrib/easybook/easybook.tex
+++ b/macros/latex/contrib/easybook/easybook.tex
@@ -21,8 +21,8 @@
name = easybook,
color-scheme = blue,
title = EASYBOOK 使用手册,
- version = v1.60,
- date = 2022/02/02,
+ version = v1.61,
+ date = 2022/02/03,
authors = 瞿毅,
info = 排版简体中文学位论文和书籍,
email = q1jx@foxmail.com,
@@ -44,9 +44,9 @@
\addtokomafont{subsection}{\normalfont\sffamily}
\addtokomafont{subsubsection}{\normalfont\sffamily}
\DeclareTOCStyleEntry[entryformat = \sffamily]{default}{section}
+\DeclareFieldFormat[book]{title}{\textsf{#1}}
\geometry{margin = 1in,marginparwidth = 0.65in}
\SetEnumitemValue{label}{smallbullet}{\small\color{Blue}\textbullet}
-\DeclareFieldFormat[book]{title}{\textsf{#1}}
\setlist{nosep,topsep = \smallskipamount,labelsep = 0.5em}
\setlist[1]{labelindent = \parindent}
\setlist[itemize,1]{label = smallbullet,leftmargin = *}
@@ -86,6 +86,7 @@
\newcommand{\spemmeta}{\splitmeta[\code{|}]}
\newsplitarg[\spemmeta]{\spemcoarg}{[}{]}
\newcommand{\harg}{\textcolor{argument}{\code{-}}}
+% Remove default braces of values
\RenewDocumentCommand{\key}{s}
{
\IfBooleanTF{#1}{\cnltx@key@aux*}{\cnltx@key@aux{}}
@@ -614,15 +615,15 @@
\begin{options}
\keychoice*{heading}{bibliography,subbibliography,bibintoc,subbibintoc}\Default{bibintoc}
参考文献通常有一个章标题或者节标题,该选项选择由 \cs*{defbibheading} 定义的标题名。
- \keyval*-{title}{参考文献标题名}
+ \keyval*{title}{参考文献标题名}
如果标题定义支持的话,该选项覆盖由 \option*{heading} 选项提供的缺省标题名。
- \keyval*-{prenote}{参考文献前注}
+ \keyval*{prenote}{参考文献前注}
该选项选择由 \cs*{defbibnote} 所定义的前注,缺省状态下不打印任何前注。
- \keyval*-{section}{整数}\Default{0}
+ \keyval*{section}{整数}\Default{0}
只打印在指定文节中引用的条目。该参考文献节从 1 开始编号,所有在 \env*{refsection} 环境外给出的引用标记为第零节。
- \keyval*-{type}{条目类型}
+ \keyval*{type}{条目类型}
指定条目的打印类型。
- \keyval*-{filter}{过滤器名}
+ \keyval*{filter}{过滤器名}
使用由 \cs*{defbibfilter} 定义的 \option*{filter} 来过滤条目。
\end{options}
@@ -642,15 +643,15 @@
\command{declaretheorem}[\oarg{键值列表1}\marg{环境名}\oarg{键值列表2}]\Module{thmset}
定理环境声明命令。可选参数的 \meta{键值列表1} 与 \meta{键值列表2} 等效,其中常用的选项如下:
\begin{options}
- \keyval*-{name}{定理名}
+ \keyval*{name}{定理名}
定理环境的标题名称,默认为英文首字母大写的环境名。
\keychoice*{numbered}{no,yes,unless unique}
定理可以被编号、不被编号或者只有在文档中多次出现时才被编号。
\keychoice*{within}{chapter,section,empty,counter}
定理编号跟随的计数器。当计数器值递增时定理编号会从零开始,通常这是一个章节计数器。
- \keyval*-{numberlike}{计数器}
+ \keyval*{numberlike}{计数器}
定理将使用此 \meta{计数器} 进行编号,通常这是另一个定理环境的名称。
- \keyval*-{style}{定理样式}
+ \keyval*{style}{定理样式}
选项的值为使用 \cs{declaretheoremstyle} 命令新定义的定理样式。
\end{options}
@@ -710,7 +711,7 @@
\keyval{footruleskip}{页脚线间距}\Default*{3.5pt}
\kvsplit*{hdivide}{左边距,页面文本宽度,右边距}\default{}
\kvsplit*{hmargin}{左边距,右边距}\default{}
- \keyval*-{textheight}{页面文本高度}\default{}
+ \keyval*{textheight}{页面文本高度}\default{}
\keybool*{nofoot}\Default*{false}
\begin{ctexexam}
\ebgeoset
diff --git a/macros/latex/contrib/fnpct/README b/macros/latex/contrib/fnpct/README
index a867454221..88d9dc33ef 100644
--- a/macros/latex/contrib/fnpct/README
+++ b/macros/latex/contrib/fnpct/README
@@ -1,5 +1,5 @@
--------------------------------------------------------------------------
-the FNPCT package v1.0b 2022/01/29
+the FNPCT package v1.1 2022/02/03
footnotes' interaction with punctuation
diff --git a/macros/latex/contrib/fnpct/fnpct-manual.cls b/macros/latex/contrib/fnpct/fnpct-manual.cls
index 6b3aa77698..95cfab1a77 100644
--- a/macros/latex/contrib/fnpct/fnpct-manual.cls
+++ b/macros/latex/contrib/fnpct/fnpct-manual.cls
@@ -23,7 +23,7 @@
% The Current Maintainer of this work is Clemens Niederberger.
% --------------------------------------------------------------------------
\RequirePackage[multiple]{fnpct}
-\ProvidesClass{fnpct-manual}[2021/01/17]
+\ProvidesClass{fnpct-manual}[2022/02/03]
\LoadClass[load-preamble,add-index]{cnltx-doc}
\RequirePackage{imakeidx}
@@ -327,5 +327,8 @@
\fnpct@add@version{2019-10-05}{0.5}
\fnpct@add@version{2020-01-12}{0.5a}
\fnpct@add@version{2021-01-21}{1.0}
+\fnpct@add@version{2022-01-04}{1.0a}
+\fnpct@add@version{2022-01-29}{1.0b}
+\fnpct@add@version{2022-02-03}{1.1}
\endinput
diff --git a/macros/latex/contrib/fnpct/fnpct-manual.pdf b/macros/latex/contrib/fnpct/fnpct-manual.pdf
index 9f60e1b59a..bd6098e43f 100644
--- a/macros/latex/contrib/fnpct/fnpct-manual.pdf
+++ b/macros/latex/contrib/fnpct/fnpct-manual.pdf
Binary files differ
diff --git a/macros/latex/contrib/fnpct/fnpct-manual.tex b/macros/latex/contrib/fnpct/fnpct-manual.tex
index ceebe632fc..99968777c7 100644
--- a/macros/latex/contrib/fnpct/fnpct-manual.tex
+++ b/macros/latex/contrib/fnpct/fnpct-manual.tex
@@ -105,7 +105,8 @@ full stop. Additional punctuation marks can be added to the switching
behavior and the amount of kerning can be set for each punctuation mark
individually. This behavior can also be turned off.
-\subsection{Basics}
+\subsection{New Behavior of \cs*{footnote}}
+\subsubsection{Interaction With Punctuation}
The \fnpct\ package basically does two things to footnotes:
\begin{itemize}
\item if footnote marks are followed by a comma or a full stop\footnote{More
@@ -163,6 +164,20 @@ amount specified with the option \option{before-punct-space}.
\caption{The effect of \fnpct.}\label{fig:effects}
\end{figure}
+\subsubsection{Space Before Footnotes}\label{sec:space-before}
+\fnpct\sinceversion{1.1} tries to help you in one more way: it removes a
+possible space before a footnote command:
+
+\begin{example}
+ The three little pigs built their houses out of straw \footnote{not to be
+ confused with hay}, sticks \footnote{or lumber according to some sources}
+ and bricks \footnote{probably fired clay bricks}.
+\end{example}
+
+For this behavior it uses \pkg{biblatex}'s (or \pkg{csquotes}') command
+\cs{unspace} if available. Otherwise it defines the command for itself. This
+behavior can be turned off by an option.
+
\subsection{Temporarily disable (or enable) switching -- new syntax of the
\cs*{footnote} command}
One maybe want to put some footnote marks \emph{before} the punctuation and
@@ -209,6 +224,9 @@ In case you set \keyis{reverse}{true} the \sarg\ argument temporarily
Switches of \fnpct's mechanism.
\keybool{reverse}\Default{false}
This option reverses the behavior of starred and un-starred footnotes.
+ \keybool{unspace}\Default{true}
+ \sinceversion{1.1}This option turns the behavior described in
+ section~\ref{sec:space-before} off or on.
\keybool{ranges}\Default{false}
Activates ranges for multiple footnotes. This is not compatible with
\pkg{hyperref} and does not work for the marks of some packages.
@@ -356,6 +374,14 @@ reliable as it is now. For that reason it defined the following command:
confused with hay}, sticks\footnote{or lumber according to some sources}
and bricks\multfootnote{probably fired clay bricks;or something else}.
\end{example}
+\begin{options}
+ \keyval{mult-variant-prefix}{letters}\Default{mult}
+ \sinceversion{1.1}Determines how the variant commands created by the
+ \option{multiple} option are named. Choosing
+ \keyis{mult-variant-prefix}{m} would create \cs*{mfootnote} etc.\@ instead
+ of \cs{multfootnote}.
+\end{options}
+
This command splits its content at every occurrence of \code{;} and creates a
footnote for each. This delimiter can be changed:
\begin{options}
@@ -591,6 +617,7 @@ You could use another token for the star, though, if needed:
\IfNoValueTF{#2}
{#NOTE*{#4}}
{\IfNoValueTF{#3}{#NOTE*[#2]{#4}}{#NOTE*[#2][#3]{#4}}}%
+ }%
}
\end{sourcecode}
Testing showed no problems whatsoever but \fnpct\ does not adapt the command
diff --git a/macros/latex/contrib/fnpct/fnpct.sty b/macros/latex/contrib/fnpct/fnpct.sty
index 9236dcfdde..175aa7c43f 100644
--- a/macros/latex/contrib/fnpct/fnpct.sty
+++ b/macros/latex/contrib/fnpct/fnpct.sty
@@ -27,10 +27,10 @@
\DeclareHookRule {begindocument} {fnpct} {after} {hyperref}
-\tl_const:Nn \c_fnpct_date_tl {2022/01/29}
+\tl_const:Nn \c_fnpct_date_tl {2022/02/03}
\tl_const:Nn \c_fnpct_version_major_number_tl {1}
-\tl_const:Nn \c_fnpct_version_minor_number_tl {0}
-\tl_const:Nn \c_fnpct_version_subrelease_tl {b}
+\tl_const:Nn \c_fnpct_version_minor_number_tl {1}
+\tl_const:Nn \c_fnpct_version_subrelease_tl {}
\tl_const:Nx \c_fnpct_version_number_tl
{
\c_fnpct_version_major_number_tl .
@@ -85,6 +85,7 @@
\bool_new:N \g__fnpct_multiple_bool
\bool_new:N \g__fnpct_text_bool
\bool_new:N \l__fnpct_debug_bool
+\bool_new:N \l__fnpct_unspace_bool
\tl_new:N \l_fnpct_action_tl
\tl_new:N \l_fnpct_last_action_tl
@@ -93,7 +94,7 @@
\tl_new:N \l__fnpct_range_tl
\tl_new:N \l__fnpct_separate_tl
\tl_new:N \l__fnpct_multiple_footnotes_delimiter_tl
-\tl_set:Nn \l__fnpct_multiple_footnotes_delimiter_tl {;}
+\tl_new:N \l__fnpct_mult_variant_prefix_tl
\tl_new:N \g__fnpct_this_note_tl
\prop_new:N \l__fnpct_trailing_tokens_prop
@@ -123,11 +124,12 @@
You~ need~ to~ use~ \token_to_str:N \usepackage [#1] {fnpct} .
}
-\msg_new:nnn {fnpct} {unknown-option}
+\msg_new:nnn {fnpct} {unknown-load-time-option}
{
Unknown~ option~ `#1'! \\
I~ don't~ know~ the~ option~ `#1'.~ Please~ make~ sure~ there~ is~ no~
- typo.~ Check~ the~ manual~ for~ help.
+ typo.~ Check~ the~ manual~ for~ help.~ Did~ you~ mean~ to~ use~ it~ in~
+ \token_to_str:N \setfnpct ?
}
\msg_new:nnn {fnpct} {dont-mess-around}
@@ -198,7 +200,7 @@
\cs_new_protected:Npn \__fnpct_loadtime_warning:n #1
{ \msg_warning:nnV {fnpct} {#1} \l_keys_key_str }
-\keys_define:nn {fnpct/package}
+\keys_define:nn {fnpct/load-time}
{
multiple .bool_gset:N = \g__fnpct_multiple_bool ,
multiple .initial:n = false ,
@@ -213,12 +215,12 @@
dont-mess-around .default:n = true ,
dont-mess-around .initial:n = false ,
unknown .code:n =
- \__fnpct_loadtime_warning:n {unknown-option}
+ \__fnpct_loadtime_warning:n {unknown-load-time-option}
}
-\ProcessKeysPackageOptions {fnpct/package}
+\ProcessKeysPackageOptions {fnpct/load-time}
-\keys_define:nn {fnpct/package}
+\keys_define:nn {fnpct/load-time}
{
multiple .code:n = \__fnpct_loadtime_error:n {load-time-option} ,
debug .code:n = \__fnpct_loadtime_error:n {load-time-option} ,
@@ -277,7 +279,7 @@
\cs_generate_variant:Nn \fnpct_skip_nobreak:N {c}
% --------------------------------------------------------------------------
-% checking for trailing tokens - reuse an idea from acro
+% checking for trailing tokens - reuse an idea from `acro'
% #1: name
\cs_new_protected:Npn \fnpct_new_class:n #1
{
@@ -294,14 +296,14 @@
% #1: name
% #2: code
-\cs_new_protected:Npn \fnpct_do_action:nnw #1#2 \fnpct_end:
+\cs_new_protected:Npn \__fnpct_do_action:nnw #1#2 \fnpct_end:
{
\prop_if_in:NnTF \g__fnpct_actions_prop {#1}
{ \fnpct_end: \prop_item:Nn \g__fnpct_actions_prop {#1} }
{ \fnpct_end: \use:n }
{#2}
}
-\cs_generate_variant:Nn \fnpct_do_action:nnw {V}
+\cs_generate_variant:Nn \__fnpct_do_action:nnw {V}
% #1: name
% #2: class
@@ -678,9 +680,37 @@
\cs_new_protected:Npn \__fnpct_execute: {}
+\hook_gput_code:nnn {begindocument} {fnpct}
+ {
+ \bool_lazy_or:nnTF
+ { \fnpct_if_package_loaded_p:n {biblatex} }
+ { \fnpct_if_package_loaded_p:n {csquotes} }
+ {
+ \cs_new_protected:Npn \fnpct_unspace:
+ { \bool_if:NT \l__fnpct_unspace_bool { \unspace } }
+ }
+ {
+ \cs_new_protected:Npn \fnpct_unspace:
+ {
+ \bool_if:NT \l__fnpct_unspace_bool
+ {
+ \mode_if_horizontal:T
+ {
+ \dim_compare:nNnTF \lastskip > {0pt}
+ { \unskip \fnpct_unspace: }
+ {
+ \int_compare:nNnT \lastpenalty > {0pt}
+ { \unpenalty \fnpct_unspace: }
+ }
+ }
+ }
+ }
+ }
+ }
+
% #1: boolean
\cs_new_protected:Npn \fnpct_begin:
- { \__fnpct_check_after_end:w }
+ { \fnpct_unspace: \__fnpct_check_after_end:w }
% #1: code
\cs_new_protected:Npn \__fnpct_check_after_end:w #1 \fnpct_end:
@@ -692,7 +722,7 @@
\prop_get:NVN \l__fnpct_trailing_actions_prop
\l_fnpct_trailing_token_tl
\l_fnpct_action_tl
- \fnpct_do_action:Vnw \l_fnpct_action_tl {#1}
+ \__fnpct_do_action:Vnw \l_fnpct_action_tl {#1}
}
{
% no trailing punctuation
@@ -716,8 +746,7 @@
{
\bool_if:NF \l__fnpct_dont_mess_around_bool
{
- \fnpct_if_switched:F
- { \fnpct_add_punctuation_space:n {after} }
+ \fnpct_if_switched:F { \fnpct_add_punctuation_space:n {after} }
\bool_if:NF \l_fnpct_trailing_action_bool
{ % no punctiation following
\bool_if:NF \l__fnpct_end_collection_bool
@@ -758,7 +787,6 @@
% #1: command
% #2: argument spec
% #3: code where #NOTE refers to the original note
-
\cs_new_protected:Npn \fnpct_adapt_note:Nnn #1#2#3
{
\fnpct_if_adapted:NF #1
@@ -804,7 +832,7 @@
{
\bool_if:NTF \l__fnpct_reverse_bool
{ \bool_if:nF }
- { \bool_if:NT }
+ { \bool_if:nT }
{#1} { \bool_set_true:N \l__fnpct_switched_bool }
}
@@ -834,22 +862,17 @@
\NewDocumentCommand \AdaptNote {mmom}
{
\fnpct_adapt_note:Nnn #1 {#2} {#4}
- \IfNoValueF {#3}
- { \fnpct_set_counter_name:Nn #1 {#3} }
+ \IfNoValueF {#3} { \fnpct_set_counter_name:Nn #1 {#3} }
}
\NewDocumentCommand \AdaptNoteName {mmom}
{
\fnpct_adapt_note:cnn {#1} {#2} {#4}
- \IfNoValueF {#3}
- { \fnpct_set_counter_name:cn {#1} {#3} }
+ \IfNoValueF {#3} { \fnpct_set_counter_name:cn {#1} {#3} }
}
\NewDocumentCommand \AdaptText {mmm}
- {
- \fnpct_adapt_note:Nnn #1 {#2}
- { \fnpct_text: #3 }
- }
+ { \fnpct_adapt_note:Nnn #1 {#2} { \fnpct_text: #3 } }
\NewDocumentCommand \innernote {+m}
{ \msg_warning:nn {fnpct} {command-removed} \use:n {#1} }
@@ -890,17 +913,20 @@
keep-ranges .initial:n = false ,
dont-mess-around .bool_set:N = \l__fnpct_dont_mess_around_bool ,
dont-mess-around .initial:n = false ,
- mult-fn-delim .code:n =
- \tl_set:Nn \l__fnpct_multiple_footnotes_delimiter_tl {#1} ,
- separation-symbol .code:n =
- \renewcommand* \multfootsep {#1} ,
- range-symbol .code:n =
- \renewcommand* \multfootrange {#1} ,
+ unspace .bool_set:N = \l__fnpct_unspace_bool ,
+ unspace .initial:n = true ,
+ mult-fn-delim .tl_set:N = \l__fnpct_multiple_footnotes_delimiter_tl ,
+ mult-fn-delim .initial:n = {;} ,
+ mult-variant-prefix .tl_set:N = \l__fnpct_mult_variant_prefix_tl ,
+ mult-variant-prefix .initial:n = mult ,
+ separation-symbol .code:n = \renewcommand* \multfootsep {#1} ,
+ range-symbol .code:n = \renewcommand* \multfootrange {#1} ,
print-separation .tl_set:N = \l__fnpct_separate_tl ,
print-separation .initial:n = \textsuperscript { \multfootsep } ,
print-range .tl_set:N = \l__fnpct_range_tl ,
print-range .initial:n = \textsuperscript { \multfootrange } ,
reverse .bool_set:N = \l__fnpct_reverse_bool ,
+ punct-after .code:n = \fnpct_deprecate_option:n {reverse} ,
after-punct-space .code:n =
\fnpct_foreach_action:nn {punctuation}
{ \keys_set:nn {fnpct} { after-##1-space = #1 } } ,
@@ -946,7 +972,7 @@
\cs_new_protected:Npn \fnpct_create_mult_variant:N #1
{
\exp_args:Nc \NewDocumentCommand
- { mult \__fnpct_remove_backslash:N #1 }
+ { \l__fnpct_mult_variant_prefix_tl \__fnpct_remove_backslash:N #1 }
{ sm }
{
\seq_set_split:NVn \l__fnpct_tmpa_seq
@@ -1056,6 +1082,7 @@
{ \bool_set_true:N \l__fnpct_makepagenote_bool }
}
+% `sepfootnotes' package:
\fnpct_special_treatment:nn {sepfootnotes}
{
\cs_new_eq:NN \fnpct_sepfootnote_new:n \sep@new
@@ -1123,7 +1150,7 @@
{ \IfNoValueTF {#1} {#NOTE} {#NOTE[#1]} }
\fnpct_if_multiple:T { \MultVariant \sidenote }
}
- % sidenotes:
+ %% sidenotes:
\fnpct_treatment:nn {sidenotes}
{
% `sidenotes' implements its \sidenote in terms of the user
@@ -1131,6 +1158,7 @@
% difficult if not impossible to adapt its commands
\msg_warning:nnn {fnpct} {cannot-adapt} {sidenotes}
}
+ %% tufte-latex:
\bool_lazy_or:nnT
{ \fnpct_if_class_loaded_p:n {tufte-handout} }
{ \fnpct_if_class_loaded_p:n {tufte-book} }
@@ -1302,6 +1330,7 @@
}
}
}
+
\file_input_stop:
% --------------------------------------------------------------------------
@@ -1396,3 +1425,7 @@ tablefootnote
future versions, depending on user feedback)
2022/01/04 v1.0a - correct file hooks
2022/01/29 v1.0b - remove erroneously inserted horizontal skip
+2022/02/03 v1.1 - add \fnpct_unspace: (similar/equal to biblatex's \unspace),
+ see https://tex.stackexchange.com/questions/467561/
+ - new option `mult-variant-prefix'
+ - new option `unspace'