summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-09-14 22:21:10 +0000
committerKarl Berry <karl@freefriends.org>2016-09-14 22:21:10 +0000
commit255f0a58d9bae0f193b4bd7d07885325f2fe8585 (patch)
tree1023130a997bd4b06c760600b892fcaa73fcaa30 /Master/texmf-dist/tex/latex/biblatex
parentada185c4b489c295d97a94e2a8095efa22bf711e (diff)
biblatex (14sep16)
git-svn-id: svn://tug.org/texlive/trunk@42063 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex')
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx28
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/biblatex.def145
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/biblatex.sty1769
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/blx-bibtex.def19
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/blx-dm.def54
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/cbx/alphabetic.cbx4
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/cbx/authortitle-comp.cbx4
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/cbx/authortitle-icomp.cbx4
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/cbx/authoryear-comp.cbx36
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/cbx/authoryear-ibid.cbx32
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/cbx/authoryear-icomp.cbx36
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/cbx/authoryear.cbx38
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/cbx/numeric-comp.cbx4
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/cbx/numeric.cbx4
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/cbx/verbose-ibid.cbx4
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/cbx/verbose-inote.cbx4
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/cbx/verbose-note.cbx4
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/cbx/verbose-trad1.cbx4
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/cbx/verbose-trad2.cbx4
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/cbx/verbose-trad3.cbx4
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/cbx/verbose.cbx4
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/australian.lbx8
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx58
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/british.lbx46
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx66
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx50
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx59
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx58
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx58
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx225
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx578
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx58
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx58
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx208
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx54
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx58
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx56
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/newzealand.lbx12
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/norwegian.lbx58
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/nynorsk.lbx12
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx54
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx58
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx59
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx57
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx50
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx68
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx66
47 files changed, 3659 insertions, 738 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx b/Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx
index 4f6c6bc5dda..e27b18904e2 100644
--- a/Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx
+++ b/Master/texmf-dist/tex/latex/biblatex/bbx/authoryear.bbx
@@ -24,13 +24,13 @@
% merge date/issue with date label
\def\bbx@opt@mergedate@maximum{%
\renewbibmacro*{date+extrayear}{%
- \iffieldundef{\thefield{datelabelsource}year}
+ \iffieldundef{labelyear}
{}
{\printtext[parens]{%
\printfield{issue}%
\setunit*{\addspace}%
- \iffieldsequal{year}{\thefield{datelabelsource}year}
- {\printdateextralabel}%
+ \iffieldsequal{year}{labelyear}
+ {\printlabeldateextra}%
{\printfield{labelyear}%
\printfield{extrayear}}}}}%
\renewbibmacro*{date}{}%
@@ -39,11 +39,11 @@
% merge date with date label
\def\bbx@opt@mergedate@compact{%
\renewbibmacro*{date+extrayear}{%
- \iffieldundef{\thefield{datelabelsource}year}
+ \iffieldundef{labelyear}
{}
{\printtext[parens]{%
- \iffieldsequal{year}{\thefield{datelabelsource}year}
- {\printdateextralabel}%
+ \iffieldsequal{year}{labelyear}
+ {\printlabeldateextra}%
{\printfield{labelyear}%
\printfield{extrayear}}}}}%
\renewbibmacro*{date}{}%
@@ -56,10 +56,10 @@
% merge year-only date with date label
\def\bbx@opt@mergedate@basic{%
\renewbibmacro*{date+extrayear}{%
- \iffieldundef{\thefield{datelabelsource}year}
+ \iffieldundef{labelyear}
{}
{\printtext[parens]{%
- \printfield{\thefield{datelabelsource}year}%
+ \printfield{labelyear}%
\printfield{extrayear}}}}%
\renewbibmacro*{date}{%
\iffieldundef{month}
@@ -81,10 +81,10 @@
% merge year-only date with year-only date label
\def\bbx@opt@mergedate@minimum{%
\renewbibmacro*{date+extrayear}{%
- \iffieldundef{\thefield{datelabelsource}year}
+ \iffieldundef{labelyear}
{}
{\printtext[parens]{%
- \printfield{\thefield{datelabelsource}year}%
+ \printfield{labelyear}%
\printfield{extrayear}}}}%
\renewbibmacro*{date}{%
\ifboolexpr{
@@ -112,10 +112,10 @@
% don't merge date/issue with date label
\def\bbx@opt@mergedate@false{%
\renewbibmacro*{date+extrayear}{%
- \iffieldundef{\thefield{datelabelsource}year}
+ \iffieldundef{labelyear}
{}
{\printtext[parens]{%
- \printfield{\thefield{datelabelsource}year}%
+ \printfield{labelyear}%
\printfield{extrayear}}}}%
\renewbibmacro*{date}{\printdate}%
\renewbibmacro*{issue+date}{%
@@ -125,8 +125,8 @@
\printdate}%
\newunit}}
-% n.b. the default datelabel=year overrides merging of months and days
-\ExecuteBibliographyOptions{labeldate,sorting=nyt,pagetracker,mergedate}
+% n.b. the default labeldate=year overrides merging of months and days
+\ExecuteBibliographyOptions{labeldateparts,sorting=nyt,pagetracker,mergedate}
\DeclareFieldFormat{shorthandwidth}{#1}
\setlength{\bibitemsep}{0pt}
diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex.def b/Master/texmf-dist/tex/latex/biblatex/biblatex.def
index 3016d22fef6..b9b58f756de 100644
--- a/Master/texmf-dist/tex/latex/biblatex/biblatex.def
+++ b/Master/texmf-dist/tex/latex/biblatex/biblatex.def
@@ -19,7 +19,7 @@
\def\do#1{%
\csdef{mkbibname#1}##1{##1}%
\define@key{blx@opt@namepart}{#1}{\csdef{namepart#1}{##1}}%
- \define@key{blx@opt@namepart}{#1_i}{\csdef{namepart#1i}{##1}}}
+ \define@key{blx@opt@namepart}{#1i}{\csdef{namepart#1i}{##1}}}
\expandafter\docsvlist\expandafter{\blx@datamodel@constant@nameparts}
% legacy aliases
@@ -29,7 +29,6 @@
\let\mkbibnameaffix\@empty
\AtEndPreamble{%
-
\ifdefempty\mkbibnamelast
{\let\@mkbibnamelastsaved\mkbibnamefamily}% not redefined by user
{\blx@warning@noline{%
@@ -121,6 +120,8 @@
\DeclareDelimFormat[textcite]{nonameyeardelim}{\addspace}
\DeclareDelimFormat[bib]{nonameyeardelim}{\addspace}
\DeclareDelimFormat[biblist]{nonameyeardelim}{\addspace}
+\DeclareDelimFormat{dateeradelim}{\addspace}
+\DeclareDelimFormat{datecircadelim}{\addspace}
% This is a provisional definition for \iffinalcitedelim{<true>}{<false>}, a
% test that should expand <true> if the next non-compact citation delimiter
@@ -334,6 +335,12 @@
{#1}
{\textsc{\MakeLowercase{#1}}}}
+% Convert HH to hh for time formatting
+\newcommand*{\mktimehh}[1]{%
+ \ifnumless{#1}{13}
+ {#1}
+ {\number\numexpr#1-12\relax}}
+
% ------------------------------------------------------------------
% ADDITIONAL PACKAGE OPTIONS
% ------------------------------------------------------------------
@@ -389,13 +396,20 @@
{citetitle}{#1}
% labelyear can be a localisation string to allow for "no date" etc.
\DeclareFieldFormat{labelyear}{% = the '1995' part in 'Jones 1995a'
- \ifbibstring{#1}{\bibstring{#1}}{\stripzeros{#1}}}
-\DeclareFieldFormat{extrayear}{% = the 'a' in 'Jones 1995a'
- \iffieldnums{labelyear}
- {\mknumalph{#1}}
- {\mkbibparens{\mknumalph{#1}}}}
-\DeclareFieldFormat{labelalpha}{#1}% = the 'Jon95' part of 'Jon95a'
-\DeclareFieldFormat{extraalpha}{\mknumalph{#1}}% = the 'a' in 'Jon95a'
+ \ifbibstring{#1}{\bibstring{#1}}{#1}}
+% If labeldatesource is a defined field, they
+% Don't check labelyear directly as it is already processed into a range with markers
+% and so is never nums due to unexpandable parts of labelyear determination
+\DeclareFieldFormat{extrayear}{%
+ \iffieldundef{\thefield{labeldatesource}}
+ {\iffieldnums{\thefield{labeldatesource}year}
+ {\mknumalph{#1}}
+ {\mkbibparens{\mknumalph{#1}}}}
+ {\iffieldnums{\thefield{labeldatesource}}
+ {\mknumalph{#1}}
+ {\mkbibparens{\mknumalph{#1}}}}}%
+\DeclareFieldFormat{labelalpha}{#1}%
+\DeclareFieldFormat{extraalpha}{\mknumalph{#1}}%
\DeclareFieldFormat{shorthand}{#1\isdot}
\DeclareFieldFormat{shorthandintro}{%
\ifcapital{\MakeCapital{#1}}{#1}\isdot}
@@ -809,15 +823,12 @@
\usebibmacro{name:andothers}}
% Fallback used by \printnames
-
\DeclareNameAlias{default}{given-family}
% Default used by \citename
-
\DeclareNameAlias{citename}{default}
% Used in some citations
-
\DeclareNameFormat{labelname}{%
\ifcase\value{uniquename}%
\usebibmacro{name:family}
@@ -847,7 +858,6 @@
\usebibmacro{name:andothers}}
% Used in the bibliography
-
\DeclareNameAlias{sortname}{family-given/given-family}
\DeclareNameAlias{author}{default}
@@ -1180,66 +1190,6 @@
}
}
-\DeclareDriverSourcemap[datatype=ris]{
- \map{
- \step[typesource=ART, typetarget=artwork]
- \step[typesource=BILL, typetarget=jurisdiction]
- \step[typesource=BOOK, typetarget=book]
- \step[typesource=CHAP, typetarget=inbook]
- \step[typesource=COMP, typetarget=software]
- \step[typesource=CONF, typetarget=proceedings]
- \step[typesource=GEN, typetarget=misc]
- \step[typesource=JFULL, typetarget=article]
- \step[typesource=JOUR, typetarget=article]
- \step[typesource=MGZN, typetarget=misc]
- \step[typesource=MPCT, typetarget=movie]
- \step[typesource=NEWS, typetarget=misc]
- \step[typesource=PAMP, typetarget=misc]
- \step[typesource=PAT, typetarget=patent]
- \step[typesource=PCOMM, typetarget=misc]
- \step[typesource=RPRT, typetarget=report]
- \step[typesource=SER, typetarget=misc]
- \step[typesource=SLIDE, typetarget=misc]
- \step[typesource=SOUND, typetarget=audio]
- \step[typesource=STAT, typetarget=legal]
- \step[typesource=THES, typetarget=thesis]
- \step[typesource=UNBILL, typetarget=jurisdiction]
- \step[typesource=UNPB, typetarget=unpublished]
- }
- \map{
- \step[fieldsource=Y1, fieldtarget=date]
- \step[fieldsource=PY, fieldtarget=date]
- \step[fieldsource=Y2, fieldtarget=eventdate]
- \step[fieldsource=A1, fieldtarget=author]
- \step[fieldsource=AU, fieldtarget=author]
- \step[fieldsource=A2, fieldtarget=editor]
- \step[fieldsource=A3, fieldtarget=editor]
- \step[fieldsource=ED, fieldtarget=editor]
- \step[fieldsource=SPEP, fieldtarget=pages]
- \step[fieldsource=N1, fieldtarget=note]
- \step[fieldsource=N2, fieldtarget=abstract]
- \step[fieldsource=AB, fieldtarget=abstract]
- \step[fieldsource=JO, fieldtarget=journaltitle]
- \step[fieldsource=JF, fieldtarget=journaltitle]
- \step[fieldsource=JA, fieldtarget=shortjournal]
- \step[fieldsource=VL, fieldtarget=volume]
- \step[fieldsource=IS, fieldtarget=issue]
- \step[fieldsource=CP, fieldtarget=issue]
- \step[fieldsource=CY, fieldtarget=location]
- \step[fieldsource=SN, fieldtarget=isbn]
- \step[fieldsource=PB, fieldtarget=publisher]
- \step[fieldsource=KW, fieldtarget=keywords]
- \step[fieldsource=TI, fieldtarget=title]
- \step[fieldsource=U1, fieldtarget=usera]
- \step[fieldsource=U2, fieldtarget=userb]
- \step[fieldsource=U3, fieldtarget=userc]
- \step[fieldsource=U4, fieldtarget=userd]
- \step[fieldsource=U5, fieldtarget=usere]
- \step[fieldsource=UR, fieldtarget=url]
- \step[fieldsource=L1, fieldtarget=file]
- }
-}
-
% ------------------------------------------------------------------
% META-FIELDS
% ------------------------------------------------------------------
@@ -1254,6 +1204,7 @@
\DeclareLabeldate{%
\field{date}
+ \field{year}
\field{eventdate}
\field{origdate}
\field{urldate}
@@ -1263,6 +1214,7 @@
\DeclareLabeltitle{%
\field{shorttitle}
\field{title}
+ \field{maintitle}
}
% ------------------------------------------------------------------
@@ -1273,8 +1225,8 @@
\labelelement{
\field[final]{shorthand}
\field{label}
- \field[strwidth=3,strside=left,ifnames=1,pcompound=true]{labelname}
- \field[strwidth=1,strside=left,pcompound=true]{labelname}
+ \field[strwidth=3,strside=left,ifnames=1]{labelname}
+ \field[strwidth=1,strside=left]{labelname}
}
\labelelement{
\field[strwidth=2,strside=right]{year}
@@ -1282,6 +1234,25 @@
}
% ------------------------------------------------------------------
+% LABELALPHA NAME TEMPLATE
+% ------------------------------------------------------------------
+
+\DeclareLabelalphaNameTemplate{
+ \namepart[use=true, pre=true, strwidth=1, compound=true]{prefix}
+ \namepart{family}
+}
+
+% ------------------------------------------------------------------
+% UNIQUENAME TEMPLATE
+% ------------------------------------------------------------------
+
+\DeclareUniquenameTemplate{
+ \namepart[use=true, base=true]{prefix}
+ \namepart[base=true]{family}
+ \namepart{given}
+}
+
+% ------------------------------------------------------------------
% SORTING
% ------------------------------------------------------------------
@@ -1348,8 +1319,8 @@
\field{year}
}
\sort{
- \field[padside=left,padwidth=4,padchar=0]{volume}
- \literal{0000}
+ \field{volume}
+ \literal{0}
}
}
@@ -1377,8 +1348,8 @@
\field{title}
}
\sort{
- \field[padside=left,padwidth=4,padchar=0]{volume}
- \literal{0000}
+ \field{volume}
+ \literal{0}
}
}
@@ -1402,8 +1373,8 @@
\field{year}
}
\sort{
- \field[padside=left,padwidth=4,padchar=0]{volume}
- \literal{0000}
+ \field{volume}
+ \literal{0}
}
\sort{
\field{sorttitle}
@@ -1438,8 +1409,8 @@
\field{title}
}
\sort{
- \field[padside=left,padwidth=4,padchar=0]{volume}
- \literal{0000}
+ \field{volume}
+ \literal{0}
}
}
@@ -1466,8 +1437,8 @@
\field{year}
}
\sort{
- \field[padside=left,padwidth=4,padchar=0]{volume}
- \literal{0000}
+ \field{volume}
+ \literal{0}
}
\sort{
\field{sorttitle}
@@ -1509,8 +1480,8 @@
\field{sortkey}
}
\sort[direction=descending]{
- \field[strside=left,strwidth=4]{sortyear}
- \field[strside=left,strwidth=4]{year}
+ \field{sortyear}
+ \field{year}
\literal{9999}
}
\sort{
diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex.sty b/Master/texmf-dist/tex/latex/biblatex/biblatex.sty
index 98fd4dd7ca4..f95ba1aaee9 100644
--- a/Master/texmf-dist/tex/latex/biblatex/biblatex.sty
+++ b/Master/texmf-dist/tex/latex/biblatex/biblatex.sty
@@ -11,8 +11,8 @@
% particular purpose.
% Set up the version strings here
-\def\abx@date{2016/05/14}
-\def\abx@version{3.4}
+\def\abx@date{2016/09/07}
+\def\abx@version{3.5}
\def\abx@bbxid{\abx@date\space v\abx@version\space biblatex bibliography style (PK/JW/AB)}
\def\abx@cbxid{\abx@date\space v\abx@version\space biblatex citation style (PK/JW/AB)}
\def\abx@lbxid{\abx@date\space v\abx@version\space biblatex localization (PK/JW/AB)}
@@ -21,19 +21,18 @@
% 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.1}
+\def\blx@bcfversion{3.2}
% 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{2.7}
+\def\blx@bblversion{2.8}
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{biblatex}
[\abx@date\space v\abx@version\space programmable bibliographies (PK/JW/AB)]
%% Dependencies
-\RequirePackage{iftex}
\RequirePackage{pdftexcmds}
\RequirePackage{etoolbox}
\RequirePackage{keyval}
@@ -88,7 +87,7 @@
cite,citeref,drftcite,footbib,inlinebib,jurabib,mcite,mciteplus,
mlbib,multibbl,multibib,natbib,opcit,overcite,splitbib,ucs}%
\def\blx@langstrings{}%
- % Set up sortlocale defaults
+ % Set up sortlocale defaults and default language if babel/polyglossia is not loaded
\ifdefstring\blx@sortlocale{auto}
{\ifdef\bbl@main@language% babel or polyglossia is loaded
{\edef\blx@sortlocale{\bbl@main@language}}
@@ -187,6 +186,7 @@
\scr@saved@footnotetext,% koma-script 3.x
\l@dold@footnotetext,% ledmac
\l@doldold@footnotetext,% ledmac
+ \predefinedfootnotetext,% linguex
\@fntORI}% frenchle
\iftoggle{blx@tempa}% ams classes
{\patchcmd\@footnotetext
@@ -496,7 +496,7 @@
\newtoggle{blx@labelnumber}
\newtoggle{blx@labeltitle}
\newtoggle{blx@labeltitleyear}
-\newtoggle{blx@labeldate}
+\newtoggle{blx@labeldateparts}
\newtoggle{blx@natbib}
\newtoggle{blx@mcite}
\newtoggle{blx@loadfiles}
@@ -505,9 +505,9 @@
\newtoggle{blx@xrefsource}
\newtoggle{blx@uniqueprimaryauthor}
\newtoggle{blx@uniquetitle}
+\newtoggle{blx@uniquebaretitle}
+\newtoggle{blx@uniquework}
\newtoggle{blx@terseinits}
-\newtoggle{blx@giveninits}
-\newtoggle{blx@sortgiveninits}
\newtoggle{blx@useprefix}
\newtoggle{blx@addset}
\newtoggle{blx@setonly}
@@ -534,16 +534,11 @@
% Special fields which need resolution using the information provided by biber
\listadd\abx@rfields{labeltitle}
\def\abx@dorfields{%
- \dolistcsloop{abx@rfields}%
+ \dolistloop\abx@rfields%
}
-% Just in case we ever have non-name lists to instantiate
-%\listadd\abx@rlists{}
-% \def\abx@dorlists{%
-% \dolistcsloop{abx@rlists}%
-% }
\listadd\abx@rnames{labelname}
\def\abx@dornames{%
- \dolistcsloop{abx@rnames}%
+ \dolistloop\abx@rnames%
}
% Used to track default refcontexts for citations
@@ -592,9 +587,9 @@
\ifcsundef{abx@name@legacy@warning@#1}{\blx@warning@noline{Name '#1' deprecated. #2}}{}%
\global\csdef{abx@name@legacy@warning@#1}{}}}%
-\DeprecateField{prefixnumber}{Please use 'labelprefix' instead} % Biblatex v3.4
+\DeprecateField{prefixnumber}{Please use 'labelprefix' instead}
-%% Initialization
+%% Initialisation
\def\blx@blxinit{%
\let\blx@blxinit\relax
\blx@initunit}
@@ -622,7 +617,6 @@
{}}
%% Auxiliary commands
-
\protected\def\blx@safe@actives{%
\let\blx@if@safe@actives\if@safe@actives
\let\if@safe@actives\iftrue}
@@ -2092,6 +2086,8 @@
{\blx@ifnamesequal@iii#1%
\blx@ifnamesequal@ii}}
+% These explicit nameparts are alright as they are for bibtex only
+% biber names will always have a hash generated from all nameparts in datamodel
\def\blx@ifnamesequal@iii#1#2{%
\setkeys{blx@opt@name}{#1}%
\setkeys{blx@opt@namepart}{#2}%
@@ -2766,7 +2762,7 @@
\addthinspace\addnbthinspace\addlowpenspace
\addhighpenspace\addlpthinspace\addhpthinspace
\adddotspace\addabbrvspace\&\psq\psqq
- \bibrangedash\bibdatedash\textendash\textemdash\bibrangessep}
+ \bibrangedash\bibdaterangesep\bibtimerangesep\textendash\textemdash\bibrangessep}
\DeclarePageCommands{\pno\ppno}
% *{<code>}
@@ -3123,7 +3119,15 @@
{\blx@warn@delimuse{#2}{#1}}}}
\newcommand*{\delimcontext}[1]{%
- \edef\blx@delimcontext{#1}}
+ \edef\blx@delimcontext{\blx@delimcontextalias{#1}}}
+
+\def\blx@delimcontextalias#1{%
+ \ifcsdef{blx@delimcontextalias@#1}
+ {\csuse{blx@delimcontextalias@#1}}
+ {#1}}
+
+\newcommand*{\DeclareDelimcontextAlias}[2]{%
+ \csgdef{blx@delimcontextalias@#1}{#2}}
% {<init>}{<entrytype>}
\protected\def\blx@imc@usedriver#1#2{%
@@ -3268,12 +3272,12 @@
\def\iffootnote{\iftoggle{blx@footnote}}%
\def\ifuseprefix{\iftoggle{blx@useprefix}}%
\def\ifterseinits{\iftoggle{blx@terseinits}}%
- \def\iffirstinits{\iftoggle{blx@giveninits}}% legacy name for \ifgiveninits
- \def\ifgiveninits{\iftoggle{blx@giveninits}}%
\def\ifcrossrefsource{\iftoggle{abx@bool@crossrefsource}}%
\def\ifxrefsource{\iftoggle{abx@bool@xrefsource}}%
\def\ifsingletitle{\iftoggle{abx@bool@singletitle}}%
\def\ifuniquetitle{\iftoggle{abx@bool@uniquetitle}}%
+ \def\ifuniquebaretitle{\iftoggle{abx@bool@uniquebaretitle}}%
+ \def\ifuniquework{\iftoggle{abx@bool@uniquework}}%
\def\ifuniqueprimaryauthor{\iftoggle{abx@bool@uniqueprimaryauthor}}%
\def\ifandothers#1{\iftoggle{abx@bool@more#1}}%
\protected\def\pno{\bibstring{page}}%
@@ -3379,8 +3383,11 @@
\newrobustcmd*{\MakeSentenceCase}{%
\@ifstar\blx@mksc@i\blx@mksc@ii}
-% if we have option language=<lang>, then this overrides
-% langid field, otherwise, we try than, otherwise try main doc lang
+% Check, in order:
+% * explicit option language=<lang>, which overrides everything
+% * langid field of entry
+% * babel/polyglossia lang
+% * main document lang
\def\blx@mksc@i{%
\ifdef\blx@forcelanguagename
{\xifinlist\blx@forcelanguagename\blx@cmksc@lang
@@ -3390,9 +3397,13 @@
{\xifinlist\abx@field@langid\blx@cmksc@lang
{\blx@mksc@ii}
{\@firstofone}}
- {\xifinlist\bbl@main@language\blx@cmksc@lang
- {\blx@mksc@ii}
- {\@firstofone}}}}
+ {\ifdef\bbl@main@language
+ {\xifinlist\bbl@main@language\blx@cmksc@lang
+ {\blx@mksc@ii}
+ {\@firstofone}}
+ {\xifinlist\blx@languagename\blx@cmksc@lang
+ {\blx@mksc@ii}
+ {\@firstofone}}}}}
\long\def\blx@mksc@ii#1{%
\begingroup
@@ -4508,6 +4519,7 @@
\do{langdanish}%
\do{langdutch}%
\do{langenglish}%
+ \do{langestonian}%
\do{langfinnish}%
\do{langfrench}%
\do{langgerman}%
@@ -4531,6 +4543,7 @@
\do{fromdanish}%
\do{fromdutch}%
\do{fromenglish}%
+ \do{fromestonian}%
\do{fromfinnish}%
\do{fromfrench}%
\do{fromgerman}%
@@ -4564,6 +4577,17 @@
\do{patreqfr}%
\do{patrequk}%
\do{patrequs}%
+ \do{commonera}%
+ \do{beforecommonera}%
+ \do{annodomini}%
+ \do{beforechrist}%
+ \do{circa}%
+ \do{spring}%
+ \do{summer}%
+ \do{autumn}%
+ \do{winter}%
+ \do{am}%
+ \do{pm}%
}
\newrobustcmd*{\NewBibliographyString}[1]{%
@@ -4763,98 +4787,224 @@
% auxiliary macros
% {<field base name>}
-
-\newrobustcmd*{\mkbibrangeshort}{%
- \mkbibrangefull{short}}
-
-\newrobustcmd*{\mkbibrangelong}{%
- \mkbibrangefull{long}}
-
-\newrobustcmd*{\mkbibrangeterse}{%
- \mkbibrangetrunc{short}}
-
-\newrobustcmd*{\mkbibrangecomp}{%
- \mkbibrangetrunc{long}}
-
-\newrobustcmd*{\mkbibrangeshortextra}{%
- \mkbibrangefullextra{short}}
-
-\newrobustcmd*{\mkbibrangelongextra}{%
- \mkbibrangefullextra{long}}
-
-\newrobustcmd*{\mkbibrangeterseextra}{%
- \mkbibrangetruncextra{short}}
-
-\newrobustcmd*{\mkbibrangecompextra}{%
- \mkbibrangetruncextra{long}}
-
-% {<short|long>}{<basename>}
-
-\newrobustcmd*{\mkbibrangefull}[2]{%
+\newrobustcmd*{\mkdaterangeshort}{%
+ \mkdaterangefull{short}}
+
+\newrobustcmd*{\mkdaterangelong}{%
+ \mkdaterangefull{long}}
+
+\newrobustcmd*{\mkdaterangeterse}{%
+ \mkdaterangetrunc{short}}
+
+\newrobustcmd*{\mkdaterangecomp}{%
+ \mkdaterangetrunc{long}}
+
+\newrobustcmd*{\mkdaterangeshortextra}{%
+ \mkdaterangefullextra{short}}
+
+\newrobustcmd*{\mkdaterangelongextra}{%
+ \mkdaterangefullextra{long}}
+
+\newrobustcmd*{\mkdaterangeterseextra}{%
+ \mkdaterangetruncextra{short}}
+
+\newrobustcmd*{\mkdaterangecompextra}{%
+ \mkdaterangetruncextra{long}}
+
+\def\blx@metadateinfo#1{%
+ \letcs\ifdateera{if#1dateera}%
+ \letcs\ifenddateera{if#1enddateera}%
+ \letcs\ifdatecirca{if#1datecirca}%
+ \letcs\ifenddatecirca{if#1enddatecirca}%
+ \letcs\ifdatejulian{if#1datejulian}%
+ \letcs\ifenddatejulian{if#1enddatejulian}%
+ \letcs\ifdateuncertain{if#1dateuncertain}%
+ \letcs\ifenddateuncertain{if#1enddateuncertain}}
+
+\expandafter\newrobustcmd\expandafter*\csname mktimerange24h\endcsname{%
+ \mktimerange{24h}}
+
+\expandafter\newrobustcmd\expandafter*\csname mktimerange12h\endcsname{%
+ \mktimerange{12h}}
+
+\expandafter\newrobustcmd\expandafter*\csname mktimerange24hcomp\endcsname[1]{%
+ \iffieldundef{#1hour}{}
+ {\ifboolexpr{test {\iffieldundef{#1endhour}}
+ or
+ test {\iffieldequalstr{#1endhour}{}}}
+ {\mktimerange{24h}{#1}}
+ {\iffieldsequal{#1hour}{#1endhour}
+ % 14:xx:xx 14:xx:xx
+ {\iffieldsequal{#1minute}{#1endminute}
+ % 14:13:xx 14:13:xx
+ {\toggletrue{blx@seconds}%
+ \printtext[#1time]{\csuse{mkbibtime24h}{#1hour}{#1minute}{#1second}{}%
+ \bibtimerangesep
+ \csuse{mkbibtime24h}{}{}{#1endsecond}{}}}
+ % 14:13:xx 14:14:xx
+ {\toggletrue{blx@seconds}%
+ \printtext[#1time]{\csuse{mkbibtime24h}{#1hour}{#1minute}{}{}%
+ \bibtimerangesep
+ \csuse{mkbibtime24h}{}{#1endminute}{}{}}}}
+ % 14:xx:xx 15:xx:xx
+ {\mktimerange{24h}{#1}}}}}
+
+% {<24h|24hcomp|12h>}{<datetype>}
+\newrobustcmd*{\mktimerange}[2]{%
+ \iffieldundef{#2hour}{}
+ {\blx@timepre{#2}{}%
+ \printtext[#2time]{\csuse{mkbibtime#1}{#2hour}{#2minute}{#2second}{#2timezone}%
+ \iffieldundef{#2endhour}
+ {}
+ {\blx@timepre{#2}{end}%
+ \iffieldequalstr{#2endhour}{}
+ {\mbox{\bibtimerangesep}}
+ {\bibtimerangesep
+ \csuse{mkbibtime#1}{#2endhour}{#2endminute}{#2endsecond}{#2endtimezone}}}}}}
+
+% {<datetype>}{''|end}
+\newrobustcmd*{\blx@timepre}[2]{%
+ \iftoggle{blx@timezones}{}
+ {\blx@imc@clearfield{#1#2timezone}}%
+ \iftoggle{blx@seconds}{}
+ {\blx@imc@clearfield{#1#2second}}}
+
+% {<short|long>}{<datetype>}
+\newrobustcmd*{\mkdaterangefull}[2]{%
+ \blx@metadateinfo{#2}%
\iffieldundef{#2year}
{}
- {\printtext[#2date]{%
- \csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+ {\datecircaprint
+ \printtext[#2date]{%
+ % Such a season component can only come from an EDTF 5.1.5 season which replaces
+ % a normal month so if it exists, we know that a normal date print is ruled out
+ \iffieldundef{#2season}
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+ % Optionally print the time after the date
+ \blx@printtime{#2}{}}
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+ \dateuncertainprint
+ \dateeraprint{#2year}%
\iffieldundef{#2endyear}
{}
{\iffieldequalstr{#2endyear}{}
- {\mbox{\bibdatedash}}
- {\bibdatedash
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
-\newrobustcmd*{\mkbibrangetrunc}[2]{%
+ {\mbox{\bibdaterangesep}}
+ {\bibdaterangesep
+ \enddatecircaprint
+ \iffieldundef{#2season}
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
+ % Optionally print the time after the date
+ \blx@printtime{#2}{end}}
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+ \enddateuncertainprint
+ \dateeraprint{#2endyear}}}}}}
+
+\newrobustcmd*{\mkdaterangetrunc}[2]{%
+ \blx@metadateinfo{#2}%
\iffieldundef{#2year}
{}
- {\printtext[#2date]{%
- \iffieldsequal{#2year}{#2endyear}
- {\iffieldsequal{#2month}{#2endmonth}
- {\csuse{mkbibdate#1}{}{}{#2day}}
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}}
- {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}%
+ {\datecircaprint
+ \printtext[#2date]{%
+ % Such a season component can only come from an EDTF 5.1.5 season which replaces
+ % a normal month so if it exists, we know that a normal date print is ruled out
+ \iffieldundef{#2season}
+ {\iffieldsequal{#2year}{#2endyear}
+ {\iffieldsequal{#2month}{#2endmonth}
+ {\csuse{mkbibdate#1}{}{}{#2day}}
+ {\csuse{mkbibdate#1}{}{#2month}{#2day}}}
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+ \iffieldsequal{#2dateera}{#2enddateera}{}
+ {\dateeraprint{#2year}}}}
+ {\iffieldsequal{#2year}{#2endyear}
+ {\csuse{mkbibseasondate#1}{}{#2season}}
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \iffieldsequal{#2dateera}{#2enddateera}{}
+ {\dateeraprint{#2year}}}}%
+ \dateuncertainprint
\iffieldundef{#2endyear}
{}
{\iffieldequalstr{#2endyear}{}
- {\mbox{\bibdatedash}}
- {\bibdatedash
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
-
-\newrobustcmd*{\mkbibrangefullextra}[2]{%
+ {\mbox{\bibdaterangesep}}
+ {\bibdaterangesep
+ \enddatecircaprint
+ \iffieldundef{#2season}
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+ \enddateuncertainprint
+ \dateeraprint{#2endyear}}}}}}
+
+\newrobustcmd*{\mkdaterangefullextra}[2]{%
+ \blx@metadateinfo{#2}%
\iffieldundef{#2year}
{}
- {\printtext[#2date]{%
+ {\datecircaprint
+ \printtext[#2date]{%
\printtext{%
- \csuse{mkbibdate#1}{#2year}{#2month}{#2day}}%
+ % Such a season component can only come from an EDTF 5.1.5 season which replaces
+ % a normal month so if it exists, we know that a normal date print is ruled out
+ \iffieldundef{#2season}
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+ % Optionally print the time after the date
+ \blx@printtime{#2}{}}
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+ \dateuncertainprint
+ \dateeraprint{#2year}%
\iffieldundef{#2endyear}
{\printfield{extrayear}}
{\iffieldequalstr{#2endyear}{}
{\printfield{extrayear}%
- \printtext{\mbox{\bibdatedash}}}
+ \printtext{\mbox{\bibdaterangesep}}}
{\printtext{%
- \bibdatedash
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
- \printfield{extrayear}}}}}}}
-
-\newrobustcmd*{\mkbibrangetruncextra}[2]{%
+ \bibdaterangesep
+ \enddatecircaprint
+ \iffieldundef{#2season}
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
+ % Optionally print the time after the date
+ \blx@printtime{#2}{end}}
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ \printfield{extrayear}%
+ \enddateuncertainprint
+ \dateeraprint{#2endyear}}}}}}}
+
+\newrobustcmd*{\mkdaterangetruncextra}[2]{%
+ \blx@metadateinfo{#2}%
\iffieldundef{#2year}
{}
- {\printtext[#2date]{%
+ {\datecircaprint
+ \printtext[#2date]{%
\printtext{%
- \iffieldsequal{#2year}{#2endyear}
- {\iffieldsequal{#2month}{#2endmonth}
- {\csuse{mkbibdate#1}{}{}{#2day}}
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}}
- {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}%
+ % Such a season component can only come from an EDTF 5.1.5 season which replaces
+ % a normal month so if it exists, we know that a normal date print is ruled out
+ \iffieldundef{#2season}
+ {\iffieldsequal{#2year}{#2endyear}
+ {\iffieldsequal{#2month}{#2endmonth}
+ {\csuse{mkbibdate#1}{}{}{#2day}}
+ {\csuse{mkbibdate#1}{}{#2month}{#2day}}}
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+ \iffieldsequal{#2dateera}{#2enddateera}{}
+ {\dateeraprint{#2year}}}}
+ {\iffieldsequal{#2year}{#2endyear}
+ {\csuse{mkbibseasondate#1}{}{#2season}}
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}
+ \iffieldsequal{#2dateera}{#2enddateera}{}
+ {\dateeraprint{#2year}}}}%
+ \dateuncertainprint
\iffieldundef{#2endyear}
{\printfield{extrayear}}
{\iffieldequalstr{#2endyear}{}
{\printfield{extrayear}%
- \printtext{\mbox{\bibdatedash}}}
+ \printtext{\mbox{\bibdaterangesep}}}
{\printtext{%
- \bibdatedash
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
- \printfield{extrayear}}}}}}}
-
-\newrobustcmd*{\mkbibrangeyear}[1]{%
+ \bibdaterangesep
+ \enddatecircaprint
+ \iffieldundef{#2season}
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ \printfield{extrayear}%
+ \enddateuncertainprint
+ \dateeraprint{#2endyear}}}}}}}
+
+\newrobustcmd*{\mkdaterangeyear}[1]{%
\blx@imc@clearfield{#1month}%
\blx@imc@clearfield{#1day}%
\blx@imc@clearfield{#1endmonth}%
@@ -4862,9 +5012,77 @@
\iffieldsequal{#1year}{#1endyear}
{\blx@imc@clearfield{#1endyear}}
{}%
- \mkbibrangefull{short}{#1}}
+ \mkdaterangefull{short}{#1}}
-\newrobustcmd*{\mkbibrangeyearextra}[1]{%
+% {<datetype>}
+\newrobustcmd*{\mkdaterangeymd}[1]{%
+ \blx@metadateinfo{#1}%
+ \iffieldundef{#1year}
+ {}
+ {\datecircaprint
+ \printtext[#1date]{%
+ % Such a season component can only come from an EDTF 5.1.5 season which replaces
+ % a normal month so if it exists, we know that a normal date print is ruled out
+ \iffieldundef{#1season}
+ {\blx@ymddate{#1}{}%
+ % Optionally print the time after the date
+ \blx@printtime{#1}{}}
+ {\csuse{mkbibseasondateshort}{#1year}{#1season}}%
+ \dateuncertainprint
+ \dateeraprint{#1year}%
+ \iffieldundef{#1endyear}
+ {}
+ {\iffieldequalstr{#1endyear}{}
+ {\mbox{\bibdaterangesep}}
+ {\bibdaterangesep
+ \enddatecircaprint
+ \iffieldundef{#1season}
+ {\blx@ymddate{#1}{end}%
+ % Optionally print the time after the date
+ \blx@printtime{#1}{end}}
+ {\csuse{mkbibseasondateshort}{#1endyear}{#1endseason}}%
+ \enddateuncertainprint
+ \dateeraprint{#1endyear}}}}}}
+
+% {<datetype>}
+\newrobustcmd*{\mkdaterangeymdextra}[1]{%
+ \blx@metadateinfo{#1}%
+ \iffieldundef{#1year}
+ {}
+ {\datecircaprint
+ \printtext[#1date]{%
+ % Such a season component can only come from an EDTF 5.1.5 season which replaces
+ % a normal month so if it exists, we know that a normal date print is ruled out
+ \iffieldundef{#1season}
+ {\blx@ymddate[extrayear]{#1}{}%
+ % Optionally print the time after the date
+ \blx@printtime{#1}{}}
+ {\csuse{mkbibseasondateshort}{#1year}{#1season}}%
+ \dateuncertainprint
+ \dateeraprint{#1year}%
+ \iffieldundef{#1endyear}
+ {}
+ {\iffieldequalstr{#1endyear}{}
+ {\mbox{\bibdaterangesep}}
+ {\printtext{%
+ \bibdaterangesep
+ \enddatecircaprint
+ \iffieldundef{#1season}
+ {\blx@ymddate{#1}{end}%
+ % Optionally print the time after the date
+ \blx@printtime{#1}{end}}
+ {\csuse{mkbibseasondateshort}{#1endyear}{#1endseason}}}%
+ \enddateuncertainprint
+ \dateeraprint{#1endyear}}}}}}
+
+% [extrayear]{<datetype>}{''|end}
+\newrobustcmd*{\blx@ymddate}[3][]{%
+ \dateeraprintpre{#2#3year}%
+ \mkyearzeros{\thefield{#2#3year}}\ifblank{#1}{}{\printfield{#1}}%
+ \iffieldundef{#2#3month}{}{\bibdatesep\mkmonthzeros{\thefield{#2#3month}}}%
+ \iffieldundef{#2#3day}{}{\bibdatesep\mkdayzeros{\thefield{#2#3day}}}}
+
+\newrobustcmd*{\mkdaterangeyearextra}[1]{%
\blx@imc@clearfield{#1month}%
\blx@imc@clearfield{#1day}%
\blx@imc@clearfield{#1endmonth}%
@@ -4872,44 +5090,139 @@
\iffieldsequal{#1year}{#1endyear}
{\blx@imc@clearfield{#1endyear}}
{}%
- \mkbibrangefullextra{short}{#1}}
+ \mkdaterangefullextra{short}{#1}}
+
+% {<datetype>}{'' | end}
+\newrobustcmd*{\blx@printtime}[2]{%
+ \ifboolexpr{%
+ togl {blx@#1dateusetime}
+ and
+ not test {\iffieldundef{#1#2hour}}}
+ {\blx@timepre{#1}{#2}%
+ \printtext{\bibdatetimesep}%
+ \printtext[#1time]{\csuse{mkbibtime\csuse{blx@timeformat@#1time}}{#1#2hour}{#1#2minute}{#1#2second}{#1#2timezone}}}
+ {}}
-\expandafter\newrobustcmd
-\expandafter*\csname mkbibrangeiso8601\endcsname[1]{%
+\newrobustcmd*{\mkdaterangeedtf}[1]{%
+ \blx@metadateinfo{#1}%
+ \def\bibdatetimesep{T}%
\iffieldundef{#1year}
{}
{\printtext[#1date]{%
- \blx@isodate{#1year}{#1month}{#1day}%
+ \blx@edtfdate{#1}{}%
+ \ifboolexpr{%
+ togl {blx@#1dateusetime}
+ and
+ not test {\iffieldundef{#1hour}}}
+ {\printtext{\bibdatetimesep}%
+ \blx@edtftime{#1}{}}
+ {}%
+ \dateuncertainprint
+ \datecircaprintedtf
\iffieldundef{#1endyear}
{}
- {\addslash\blx@isodate{#1endyear}{#1endmonth}{#1endday}}}}}
+ {\addslash
+ \blx@edtfdate{#1}{end}%
+ \ifboolexpr{%
+ togl {blx@#1dateusetime}
+ and
+ not test {\iffieldundef{#1endhour}}}
+ {\printtext{\bibdatetimesep}%
+ \blx@edtftime{#1}{end}}
+ {}%
+ \enddateuncertainprint
+ \enddatecircaprintedtf}}}}
+\cslet{mkdaterangeiso8601}\mkdaterangeedtf% Legacy option support
-\expandafter\newrobustcmd
-\expandafter*\csname mkbibrangeiso8601extra\endcsname[1]{%
+\newrobustcmd*{\mkdaterangeedtfextra}[1]{%
+ \blx@metadateinfo{#1}%
+ \def\bibdatetimesep{T}%
\iffieldundef{#1year}
{}
{\printtext[#1date]{%
- \blx@isodate[extrayear]{#1year}{#1month}{#1day}%
+ \blx@edtfdate[extrayear]{#1}{}%
+ \ifboolexpr{%
+ togl {blx@#1dateusetime}
+ and
+ not test {\iffieldundef{#1hour}}}
+ {\printtext{\bibdatetimesep}%
+ \blx@edtftime{#1}{}}
+ {}%
+ \dateuncertainprint
+ \datecircaprintedtf
\iffieldundef{#1endyear}
{}
- {\addslash\blx@isodate{#1endyear}{#1endmonth}{#1endday}}}}}
-
-\newrobustcmd*{\blx@isodate}[4][]{%
- \thefield{#2}\ifblank{#1}{}{\printfield{#1}}%
- \iffieldundef{#3}{}{\mbox{-}\thefield{#3}}%
- \iffieldundef{#4}{}{\mbox{-}\thefield{#4}}}
+ {\addslash
+ \blx@edtfdate{#1}{end}}%
+ \ifboolexpr{%
+ togl {blx@#1dateusetime}
+ and
+ not test {\iffieldundef{#1endhour}}}
+ {\printtext{\bibdatetimesep}%
+ \blx@edtftime{#1}{end}}
+ {}%
+ \enddateuncertainprint
+ \enddatecircaprintedtf}}}
+\cslet{mkdaterangeiso8601extra}\mkdaterangeedtfextra% Legacy option support
+
+% [extrayear]{<datetype>}{''|end}
+\newrobustcmd*{\blx@edtfdate}[3][]{%
+ \dateeraprintpre{#2#3year}%
+ \blx@imc@forcezerosy{\thefield{#2#3year}}\ifblank{#1}{}{\printfield{#1}}%
+ % Such a season component can only come from an EDTF 5.1.5 season which replaces
+ % a normal month so if it exists, we know that a normal date print is ruled out
+ \iffieldundef{#2#3season}
+ {\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}}}}
+
+\def\blx@seasonmap#1{%
+ \blx@xifstrcmp{#1}{spring}{21}
+ {\blx@xifstrcmp{#1}{summer}{22}
+ {\blx@xifstrcmp{#1}{autumn}{23}
+ {\blx@xifstrcmp{#1}{winter}{24}{}}}}}
+
+\newrobustcmd*{\blx@edtftime}[2]{%
+ \blx@imc@forcezerosmdt{\thefield{#1#2hour}}%
+ :\blx@imc@forcezerosmdt{\thefield{#1#2minute}}%
+ :\blx@imc@forcezerosmdt{\thefield{#1#2second}}%
+ \iftoggle{blx@timezones}
+ {\mkbibtimezone{\thefield{#1#2timezone}}}
+ {}}
-\newrobustcmd*{\mkbibdatelong}[3]{}
-\newrobustcmd*{\mkbibdateshort}[3]{}
+% times
+\newrobustcmd*{\bibtimesep}{:}
+\newrobustcmd*{\bibtimerangesep}{\textendash}
+\newrobustcmd*{\bibutctimezone}{Z}
+\newrobustcmd*{\bibtimezonesep}{}
+\newrobustcmd*{\bibtzminsep}{\bibtimesep}
+% dates
+\newrobustcmd*{\bibdateuncertain}{?}
+\newrobustcmd*{\bibdateeraprefix}{\textminus}
+\newrobustcmd*{\bibdateeraendprefix}{\,\bibdateeraprefix}
+\newrobustcmd*{\bibdatesep}{\hyphen}
+\newrobustcmd*{\bibdaterangesep}{\bibrangedash}
+\newrobustcmd*{\bibdatedash}{\bibrangedash}%LEGACY(<3.5)
+% date+times
+\newrobustcmd*{\bibdatetimesep}{\space}
+% ranges
\newrobustcmd*{\bibrangedash}{\textendash}
\newrobustcmd*{\bibrangessep}{,\space}
-\newrobustcmd*{\bibdatedash}{\bibrangedash}
+% formatters
+\newrobustcmd*{\mkbibtimezone}[1]{\blx@xifstrcmp{#1}{UTC}{\bibutctimezone}{#1}}
+\newrobustcmd*{\mkbibdatelong}[3]{}
+\newrobustcmd*{\mkbibdateshort}[3]{}
+\newrobustcmd*{\mkbibseasondateshort}[2]{}
+\newrobustcmd*{\mkbibseasondatelong}[2]{}
+\expandafter\newrobustcmd\expandafter*\csname mkbibtime24h\endcsname[4]{}
+\expandafter\newrobustcmd\expandafter*\csname mkbibtime12h\endcsname[4]{}
\newrobustcmd*{\finalandcomma}{}
\newrobustcmd*{\finalandsemicolon}{}
\newrobustcmd*{\mkbibordinal}[1]{#1}
\newrobustcmd*{\mkbibmascord}{\mkbibordinal}
\newrobustcmd*{\mkbibfemord}{\mkbibordinal}
\newrobustcmd*{\mkbibneutord}{\mkbibordinal}
+\newrobustcmd*{\mkbibseason}[1]{\abx@bibseason{#1}}
\newrobustcmd*{\mkbibmonth}[1]{%
\ifcase0#1\relax
\blx@warning@entry{Month out of range or not an integer}%
@@ -4929,10 +5242,31 @@
\blx@warning@entry{Month out of range}#1%
\fi}
-\protected\def\blx@imc@printdatelabel{}
-\protected\def\blx@imc@printdateextralabel{}
-
-\let\blx@imc@mkdatezeros\@firstofone
+% strip leading zeros and prepend zero for month/day/timeparts
+% Allow for non numeric labelyear values
+\protected\def\blx@imc@forcezerosmdt#1{%
+ \IfInteger{#1}
+ {\ifnumless{#1}{10}
+ {0\the\numexpr(#1)\relax}
+ {#1}}
+ {#1}}
+
+% strip leading zeros and prepend zero(s) for year
+% Allow for non numeric labelyear values
+\protected\def\blx@imc@forcezerosy#1{%
+ \IfInteger{#1}
+ {\ifnumless{#1}{10}% 1-digit year
+ {000\the\numexpr(#1)\relax}
+ {\ifnumless{#1}{100}% 2-digit year
+ {00\the\numexpr(#1)\relax}
+ {\ifnumless{#1}{1000}% 3-digit year
+ {0\the\numexpr(#1)\relax}
+ {#1}}}}
+ {#1}}
+
+\let\blx@imc@mkyearzeros\blx@imc@forcezerosy
+\let\blx@imc@mkmonthzeros\blx@imc@forcezerosmdt
+\let\blx@imc@mkdayzeros\blx@imc@forcezerosmdt
\protected\def\blx@imc@stripzeros#1{%
\begingroup
\setbox\@tempboxa=\hbox\bgroup
@@ -4949,7 +5283,28 @@
\@tempcnta#1\relax}
{\egroup#1}}
-\blx@regimcs{\printdatelabel \printdateextralabel \printorigdate \stripzeros \mkdatezeros}
+\let\blx@imc@printlabeldate\@empty
+\let\blx@imc@printlabeltime\@empty
+\let\blx@imc@printlabeldateextra\@empty
+
+\blx@regimcs{\printlabeldate \printlabeltime \printlabeldateextra \stripzeros \forcezerosy \forcezerosmdt \mkyearzeros \mkmonthzeros \mkdayzeros \mktimezeros}
+
+\protected\def\mkdatezeros{%
+ \blx@warning@noline{%
+ '\string\mkdatezeros' is deprecated, please use '\string\mkyearzeros',\MessageBreak
+ '\string\mkmonthzeros' or '\string\mkdayzeros' as appropriate. \MessageBreak
+ falling back to '\string\mkmonthzeros'}%
+ \mkmonthzeros}
+
+\protected\def\printdatelabel{%
+ \blx@warning@noline{%
+ '\string\printdatelabel' is deprecated, please use '\string\printlabeldate'}%
+ \blx@imc@printlabeldate}
+
+\protected\def\printdatelabelextra{%
+ \blx@warning@noline{%
+ '\string\printdatelabelextra' is deprecated, please use '\string\printlabeldateextra'}%
+ \blx@imc@printlabeldateextra}
% User macro for retrieving currrent language
\def\currentlang{\blx@languagename}
@@ -5143,21 +5498,20 @@
%% Biber equivalents to bibtex data interface
-\def\abx@doentrytypes{\dolistcsloop{blx@datamodel@entrytypes}}
+\def\abx@doentrytypes{\dolistloop\blx@datamodel@entrytypes}
% fields which can be used as labels - we auto-create some macros for these
-\def\abx@dolabelfields{\dolistcsloop{blx@datamodel@labelfields}}
+\def\abx@dolabelfields{\dolistloop\blx@datamodel@labelfields}
-\def\abx@donames{\dolistcsloop{blx@datamodel@names}}
+\def\abx@donames{\dolistloop\blx@datamodel@names}
+\def\abx@donameparts{\expandafter\docsvlist\expandafter{\blx@datamodel@constant@nameparts}}
-\def\abx@dofields{\dolistcsloop{blx@datamodel@fields}}
+\def\abx@dofields{\dolistloop\blx@datamodel@fields}
\def\abx@dolists{%
- \dolistcsloop{blx@datamodel@lists}%
+ \dolistloop\blx@datamodel@lists%
\do{pageref}}
-\def\abx@dodates{\dolistcsloop{blx@datamodel@dates}}
-
% Used to pass regexps to .bcf
\def\regexp#1{\expandafter\zap@space\detokenize{#1} \@empty}
@@ -5239,6 +5593,22 @@
{}
{\listcsgadd{#2@#1}{#3}}}
+% date, eventdate, urldate etc.
+\def\abx@dodates{\dolistloop\blx@datamodel@dates}
+% year, endyear, month, endmonth etc.
+\def\abx@dodateparts{\expandafter\docsvlist\expandafter{\blx@dateparts}}
+
+% '', event, url, orig etc.
+\def\do#1{%
+ \StrCut{#1}{date}\blx@datetype\blx@tempnull
+ \listxadd\blx@datetypes{\blx@datetype}}
+\abx@dodates
+% main date field has an empty prefix (''date) which can't be added to a list
+% and so do it explicity
+% This is one of the few (only?) hard-coded datamodel assumptions but it is
+% very unlikely that anyone would *remove* the main date field in a custom application ...
+\def\abx@dodatetypes{\do{}\dolistloop\blx@datetypes}
+
% per-entry inheritance blocking option for biber
\blx@collectopts{string}{blx@entryopts}{noinherit}
@@ -5326,12 +5696,69 @@
{\define@key{blx@opt@ent}{#1}[#2]{#3}}}
{\blx@err@optdef{#1}}}
-% These are internal fields which are not part of the data model but
+% Sanity check on date field names - they *must* end in 'date' to make things easier/possible later
+\def\do#1{%
+ \IfEndWith{#1}{date}
+ {}
+ {\blx@error
+ {Invalid date field name '#1'}
+ {Date fields in the datemodel must end in the string 'date' but '#1' doesn't}}}
+\abx@dodates
+
+% date meta-information option fallbacks
+\def\do#1{%
+ \cslet{#1datecircaprint}\@empty
+ \cslet{#1enddatecircaprint}\@empty
+ \cslet{#1datecircaprintedtf}\@empty
+ \cslet{#1enddatecircaprintedtf}\@empty
+ \cslet{#1dateuncertainprint}\@empty
+ \cslet{#1enddateuncertainprint}\@empty
+ \cslet{#1dateeraprint}\@gobble
+ \cslet{#1dateeraprintpre}\@gobble
+ \csdef{if#1dateera}##1{\@secondoftwo}%
+ \csdef{if#1enddateera}##1{\@secondoftwo}%
+ \cslet{if#1datecirca}\@secondoftwo
+ \cslet{if#1enddatecirca}\@secondoftwo
+ \cslet{if#1datejulian}\@secondoftwo
+ \cslet{if#1enddatejulian}\@secondoftwo
+ \cslet{if#1dateuncertain}\@secondoftwo
+ \cslet{if#1enddateuncertain}\@secondoftwo}
+\abx@dodatetypes
+\do{labeldate}
+
+% These are internal fields/booleans which are not part of the data model but
% which need to be dealt with along with data model fields in places
+\def\do#1{%
+ \listxadd\blx@datemetafields{#1dateera}%
+ \listxadd\blx@datemetafields{#1enddateera}%
+ \listxadd\blx@datemetafields{#1dateunspecified}}
+\abx@dodatetypes
+
+\def\do#1{%
+ \listxadd\blx@datemetabooleans{#1datecirca}%
+ \listxadd\blx@datemetabooleans{#1enddatecirca}%
+ \listxadd\blx@datemetabooleans{#1datejulian}%
+ \listxadd\blx@datemetabooleans{#1enddatejulian}%
+ \listxadd\blx@datemetabooleans{#1dateuncertain}%
+ \listxadd\blx@datemetabooleans{#1enddateuncertain}}
+\abx@dodatetypes
+
+\def\do#1{%
+ \listxadd\blx@namepartmetafields{#1namehash}%
+ \listxadd\blx@namepartmetafields{#1fullhash}}
+\abx@donameparts
+
+\def\do#1{%
+ \listxadd\blx@labeldatepartfields{label#1}}
+\abx@dodateparts
+
\def\abx@dointernalfields{%
\do{childentrykey}%
\do{clonesourcekey}%
- \do{datelabelsource}%
+ \do{labeldate}%
+ \do{labeldatesource}%
+ \do{labeldateera}%
+ \do{labelenddateera}%
\do{entrykey}%
\do{entryset}%
\do{entrysetcount}%
@@ -5343,59 +5770,223 @@
\do{fullhash}%
\do{labelalpha}%
\do{labelnumber}%
+ \do{labelprefix}%
\do{labeltitleyear}%
- \do{labeldate}%
\do{localnumber}%
\do{namehash}%
- \do{labelprefix}%
+ \do{options}%
\do{sortinit}%
- \do{sortinithash}}
+ \do{sortinithash}%
+ \forlistloop{\do}\blx@datemetafields
+ \forlistloop{\do}\blx@namepartmetafields
+ \forlistloop{\do}\blx@labeldatepartfields}
\def\abx@dobooleans{%
\do{crossrefsource}%
\do{xrefsource}%
\do{singletitle}%
\do{uniquetitle}%
- \do{uniqueprimaryauthor}}
+ \do{uniquebaretitle}%
+ \do{uniquework}%
+ \do{uniqueprimaryauthor}%
+ \forlistloop{\do}\blx@datemetabooleans}
% Date datatype fields
\def\do#1{%
- \protected\csdef{blx@imc@print#1}{}%
- \protected\csdef{blx@imc@print#1extra}{}}
-\abx@dodates
+ \protected\csdef{blx@imc@print#1date}{}%
+ \protected\csdef{blx@imc@print#1dateextra}{}%
+ \protected\csdef{blx@imc@print#1time}{}}
+\abx@dodatetypes
% \blx@regimcs doesn't work in do-lists nicely so use internal macro it calls
\def\do#1{%
- \xappto\blx@blxinit{\csletcs{print#1}{blx@imc@print#1}}%
- \xappto\blx@blxinit{\csletcs{print#1extra}{blx@imc@print#1extra}}}
-\abx@dodates
+ \xappto\blx@blxinit{\csletcs{print#1date}{blx@imc@print#1date}}%
+ \xappto\blx@blxinit{\csletcs{print#1time}{blx@imc@print#1time}}%
+ \xappto\blx@blxinit{\csletcs{print#1dateextra}{blx@imc@print#1dateextra}}}
+\abx@dodatetypes
+
+% Set up circa, julian and uncertain date internals
+\def\blx@imc@ifdatemeta@i#1#2{%
+ \appto\blx@blxinit{%
+ \csdef{if#1date#2}{\iftoggle{abx@bool@#1date#2}}%
+ \csdef{if#1enddate#2}{\iftoggle{abx@bool@#1enddate#2}}%
+ \appto\blx@TE@hook{%
+ \csdef{if#1date#2}{\blx@TE{\iftoggle{abx@bool@#1date#2}}}%
+ \csdef{if#1enddate#2}{\blx@TE{\iftoggle{abx@bool@#1enddate#2}}}}}}
+
+% Set up date era internals
+\def\blx@imc@ifdatemeta@ii#1{%
+ \appto\blx@blxinit{%
+ \csdef{if#1dateera}##1{\ifcsstring{abx@field@#1dateera}{##1}}%
+ \csdef{if#1enddateera}##1{\ifcsstring{abx@field@#1enddateera}{##1}}%
+ \appto\blx@TE@hook{%
+ \csdef{if#1dateera}##1{\blx@TE{\ifcsstring{abx@field@#1dateera}{##1}}}%
+ \csdef{if#1enddateera}##1{\blx@TE{\ifcsstring{abx@field@#1enddateera}{##1}}}}}}
+
+% Create date meta information boolean tests
+\def\do#1{%
+ \blx@imc@ifdatemeta@i{#1}{circa}%
+ \blx@imc@ifdatemeta@i{#1}{julian}%
+ \blx@imc@ifdatemeta@i{#1}{uncertain}}
+\abx@dodatetypes
+
+% Create date meta information field tests
+\def\do#1{%
+ \blx@imc@ifdatemeta@ii{#1}}
+\abx@dodatetypes
+
+% Resolve date meta information tests and print routines for labeldate
+% We have to test here, in each \def, whether the labeldatesource
+% is a real date field or not. If it's not, then we don't want to use
+% any of the meta-information and so make the conditionals always return false
+% This can't be neater by testing for the \abx@field@labeldatesource value
+% earlier because its not available until the tests are in scope.
+\appto\blx@blxinit{%
+ \ifdefstring\blx@dateera{astronomical}
+ {\protected\def\dateeraprintpre#1{%
+ \iffieldnum{#1}
+ {\begingroup
+ \let\blx@tempa\@empty
+ \IfEndWith{#1}{endyear}
+ {\StrCut{#1}{endyear}\blx@datetype\blx@tempnull
+ \def\blx@tempa{end}}
+ {\StrCut{#1}{year}\blx@datetype\blx@tempnull}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}
+ {\ifnumless{0-\thefield{#1}}{0}
+ {\printtext{\csuse{bibdateera\blx@tempa prefix}}}
+ {}}
+ {}%
+ \endgroup}
+ {}}}
+ {\protected\def\dateeraprint#1{%
+ \iffieldnum{#1}
+ {\begingroup
+ \let\blx@tempa\@empty
+ \IfEndWith{#1}{endyear}
+ {\StrCut{#1}{endyear}\blx@datetype\blx@tempnull
+ \def\blx@tempa{end}}
+ {\StrCut{#1}{year}\blx@datetype\blx@tempnull}%
+ \csuse{if\blx@datetype\blx@tempa dateera}{bce}
+ {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto
+ \printtext{\printdelim{dateeradelim}\bibstring{\blx@dateera@bce}}\relax
+ \fi}
+ {\ifnumless{\thefield{#1}}\blx@dateeraauto
+ {\printtext{\printdelim{dateeradelim}\bibstring{\blx@dateera@ce}}}
+ {}}%
+ \endgroup}
+ {}}}%
+ \iftoggle{blx@labeldateparts}
+ {\def\iflabeldateera#1{% start era
+ \xifinlist{\abx@field@labeldatesource date}\blx@datamodel@dates
+ {\ifcsstring{abx@field@\abx@field@labeldatesource dateera}{#1}}
+ {\@secondoftwo}}%
+ \appto\blx@TE@hook{\def\iflabeldateera#1{%
+ \xifinlist{\abx@field@labeldatesource date}\blx@datamodel@dates
+ {\blx@TE{\ifcsstring{abx@field@\abx@field@labeldatesource dateera}{#1}}}
+ {\@secondoftwo}}}%
+ % end era
+ \def\iflabelenddateera#1{%
+ \xifinlist{\abx@field@labeldatesource date}\blx@datamodel@dates
+ {\ifcsstring{abx@field@\abx@field@labeldatesource enddateera}{#1}}
+ {\@secondoftwo}}%
+ \appto\blx@TE@hook{\def\iflabelenddateera#1{%
+ \xifinlist{\abx@field@labeldatesource date}\blx@datamodel@dates
+ {\blx@TE{\ifcsstring{abx@field@\abx@field@labeldatesource enddateera}{#1}}}
+ {\@secondoftwo}}}%
+ % start circa
+ \def\iflabeldatecirca{%
+ \xifinlist{\abx@field@labeldatesource date}\blx@datamodel@dates
+ {\iftoggle{abx@bool@\abx@field@labeldatesource datecirca}}
+ {\@secondoftwo}}%
+ \appto\blx@TE@hook{\def\iflabeldatecirca{%
+ \xifinlist{\abx@field@labeldatesource date}\blx@datamodel@dates
+ {\blx@TE{\iftoggle{abx@bool@\abx@field@labeldatesource datecirca}}}
+ {\@secondoftwo}}}%
+ % end circa
+ \def\iflabelenddatecirca{%
+ \xifinlist{\abx@field@labeldatesource date}\blx@datamodel@dates
+ {\iftoggle{abx@bool@\abx@field@labeldatesource enddatecirca}}
+ {\@secondoftwo}}%
+ \appto\blx@TE@hook{\def\iflabelenddatecirca{%
+ \xifinlist{\abx@field@labeldatesource date}\blx@datamodel@dates
+ {\blx@TE{\iftoggle{abx@bool@\abx@field@labeldatesource enddatecirca}}}
+ {\@secondoftwo}}}%
+ % start julian
+ \def\iflabeldatejulian{%
+ \xifinlist{\abx@field@labeldatesource date}\blx@datamodel@dates
+ {\iftoggle{abx@bool@\abx@field@labeldatesource datejulian}}
+ {\@secondoftwo}}%
+ \appto\blx@TE@hook{\def\iflabeldatejulian{%
+ \xifinlist{\abx@field@labeldatesource date}\blx@datamodel@dates
+ {\blx@TE{\iftoggle{abx@bool@\abx@field@labeldatesource datejulian}}}
+ {\@secondoftwo}}}%
+ % end julian
+ \def\iflabelenddatejulian{%
+ \xifinlist{\abx@field@labeldatesource date}\blx@datamodel@dates
+ {\iftoggle{abx@bool@\abx@field@labeldatesource enddatejulian}}
+ {\@secondoftwo}}%
+ \appto\blx@TE@hook{\def\iflabelenddatejulian{%
+ \xifinlist{\abx@field@labeldatesource date}\blx@datamodel@dates
+ {\blx@TE{\iftoggle{abx@bool@\abx@field@labeldatesource enddatejulian}}}
+ {\@secondoftwo}}}%
+ % start uncertain
+ \def\iflabeldateuncertain{%
+ \xifinlist{\abx@field@labeldatesource date}\blx@datamodel@dates
+ {\iftoggle{abx@bool@\abx@field@labeldatesource dateuncertain}}
+ {\@secondoftwo}}%
+ \appto\blx@TE@hook{\def\iflabeldateuncertain{%
+ \xifinlist{\abx@field@labeldatesource date}\blx@datamodel@dates
+ {\blx@TE{\iftoggle{abx@bool@\abx@field@labeldatesource dateuncertain}}}
+ {\@secondoftwo}}}%
+ % end uncertain
+ \def\iflabelenddateuncertain{%
+ \xifinlist{\abx@field@labeldatesource date}\blx@datamodel@dates
+ {\iftoggle{abx@bool@\abx@field@labeldatesource enddateuncertain}}
+ {\@secondoftwo}}%
+ \appto\blx@TE@hook{\def\iflabelenddateuncertain{%
+ \xifinlist{\abx@field@labeldatesource date}\blx@datamodel@dates
+ {\blx@TE{\iftoggle{abx@bool@\abx@field@labeldatesource enddateuncertain}}}
+ {\@secondoftwo}}}}%
+ {}}
% Name toggles like \ifauthor etc. need to be dynamically created for all
% name datatypes in the data model and we have to do this here after the
% datamodel is available. Need to be careful about expansions here as these
% go into hooks to be executed later
-% Define name toggles
-\def\do#1{\newtoggle{blx@use#1}\toggletrue{blx@use#1}}
-\abx@donames
-
-% Define name toggle checking macros
-\let\blx@nametoggles\@empty
-\def\do#1{\gappto\blx@nametoggles{\expandafter\def\csname ifuse#1\endcsname{\iftoggle{blx@use#1}}}}
-\abx@donames
-\eappto\blx@blxinit{\expandafter\expandonce\noexpand\blx@nametoggles}
-
-% Define ifthen interface name toggle checking macros
-\let\blx@nametogglesit\@empty
-\def\do#1{\gappto\blx@nametogglesit{\expandafter\def\csname ifuse#1\endcsname{\blx@TE{\iftoggle{blx@use#1}}}}}
-\abx@donames
-\expandafter\def\expandafter\blx@nametogglesite\expandafter{\expandonce\blx@nametogglesit}
-\appto\blx@blxinit{\appto\blx@TE@hook{\blx@nametogglesite}}
+% toggle to say if we have set any <name>inits to true. Used for conflict
+% tests with uniquename settings (see \AtEndPreamble below)
+\newtoggle{abx@bool@xinits}
+% define <name>inits options and tests (terseinits is global for all initials)
+\def\do#1{%
+ \newtoggle{abx@bool@#1inits}%
+ \appto\blx@blxinit{%
+ \csdef{if#1inits}{\iftoggle{abx@bool@#1inits}}%
+ \appto\blx@TE@hook{%
+ \csdef{if#1inits}{\blx@TE{\iftoggle{abx@bool@#1inits}}}}}%
+ \DeclareBibliographyOption[boolean]{#1inits}[true]{%
+ \toggletrue{abx@bool@#1inits}%
+ \toggletrue{abx@bool@xinits}}}
+\abx@donameparts
+
+%LEGACY(<3.3) legacy name for \ifgiveninits which is autogenerated now
+\def\iffirstinits{
+ \blx@warning@noline{%
+ '\string\iffirstinits' is deprecated, use '\string\ifgiveninits'}%
+ \iftoggle{abx@bool@giveninits}}
-% Define \ifuse<name> options scope for biber
-\def\do#1{\blx@collectopts{boolean}{blx@globalopts}{use#1}%
- \blx@collectopts{boolean}{blx@typeopts}{use#1}%
- \blx@collectopts{boolean}{blx@entryopts}{use#1}}
+\def\do#1{%
+ % Define use<name> options scope for biber
+ \blx@collectopts{boolean}{blx@globalopts}{use#1}%
+ \blx@collectopts{boolean}{blx@typeopts}{use#1}%
+ \blx@collectopts{boolean}{blx@entryopts}{use#1}%
+ % Define name toggles
+ \newtoggle{blx@use#1}\toggletrue{blx@use#1}%
+ % Define tests
+ \appto\blx@blxinit{%
+ \csdef{ifuse#1}{\iftoggle{blx@use#1}}%
+ \appto\blx@TE@hook{%
+ \csdef{ifuse#1}{\blx@TE{\iftoggle{blx@use#1}}}}}}
\abx@donames
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -5434,7 +6025,6 @@
\abx@dolists
\let\do\blx@imc@clearfield
\abx@dofields
- \do{options}\do{labelyear}\do{labelmonth}\do{labelday}\do{datelabelsource}%
\abx@dointernalfields
\def\do##1{\togglefalse{abx@bool@##1}}%
\abx@dobooleans
@@ -5462,7 +6052,6 @@
\abx@dofields
\let\do\blx@saverelfield
\dolistloop\abx@dorelfields
- \do{options}\do{labelyear}\do{labelmonth}\do{labelday}\do{datelabelsource}%
\abx@dointernalfields
\let\do\blx@savebool
\abx@dobooleans
@@ -5649,6 +6238,7 @@
\ifdefvoid\currentfield{}{\let\blx@tempa\currentfield}%
\ifdefvoid\currentlist{}{\let\blx@tempa\currentlist}%
\ifdefvoid\currentname{}{\let\blx@tempa\currentname}%
+ \blx@resolve@annotation@label{\blx@tempa}%
\ifinlistcs{#1}{abx@annotation@field@\blx@tempa}}
% {<annotation>}
@@ -5656,6 +6246,7 @@
\ifdefvoid\currentfield{}{\let\blx@tempa\currentfield}%
\ifdefvoid\currentlist{}{\let\blx@tempa\currentlist}%
\ifdefvoid\currentname{}{\let\blx@tempa\currentname}%
+ \blx@resolve@annotation@label{\blx@tempa}%
\ifinlistcs{#1}{abx@annotation@item@\blx@tempa @\the\value{listcount}}}
% {<part>}{<annotation>}
@@ -5663,8 +6254,15 @@
\ifdefvoid\currentfield{}{\let\blx@tempa\currentfield}%
\ifdefvoid\currentlist{}{\let\blx@tempa\currentlist}%
\ifdefvoid\currentname{}{\let\blx@tempa\currentname}%
+ \blx@resolve@annotation@label{\blx@tempa}%
\ifinlistcs{#2}{abx@annotation@part@\blx@tempa @\the\value{listcount}@#1}}
+% {<fieldname>}
+\def\blx@resolve@annotation@label#1{%
+ \ifcsundef{abx@field@#1source}
+ {}%
+ {\letcs\blx@tempa{abx@field@#1source}}}
+
\begingroup
\catcode`\<=12
\catcode`\>=12
@@ -5791,29 +6389,143 @@
\def\blx@getdata#1{%
\csuse{blx@data@\the\c@refsection @\blx@refcontext@context @#1}%
- % Here we resolve label* bib fields to their real fields. Doing this here
- % dynamically means that we can vary the field chosen depending on the refcontext.
- % biber used to resolve these and materialise them in the .bbl but this
- % means a static resolution which is independent of the document context.
+ \blx@adjustyears
+ \blx@getlabeldata
+ \blx@setcitecounter}
+
+\def\blx@adjustyears{%
+ % All dates by default are output from biber in astronomical era with a year 0
+ % So, if we are ouputting BCE/BC era, we need to adjust the years by +1
\def\do##1{%
- \ifcsdef{abx@field@##1source}
- {\expandafter\def\csname abx@field@##1\endcsname{\csuse{abx@field@\csuse{abx@field@##1source}}}}%
+ \ifdefstring\blx@dateera{astronomical}
+ {}
+ {\ifcsdef{abx@field@##1year}
+ {\csuse{if##1dateera}{bce}
+ {\csedef{abx@field@##1year}{\number\numexpr\csuse{abx@field@##1year}+1}}
+ {}}
+ {}%
+ \ifcsdef{abx@field@##1endyear}
+ {\csuse{if##1enddateera}{bce}
+ {\csedef{abx@field@##1endyear}{\number\numexpr\csuse{abx@field@##1endyear}+1}}
+ {}}
+ {}}%
{}}%
+ \abx@dodatetypes}
+
+\def\blx@getlabeldata{%
+ % Here we resolve label* bib fields to their real fields. In fact, currently biber resolves
+ % the label* fields too, as it needs to do this to generate various internal
+ % counters for tracking things like singletitle etc. internally. However, it does not output
+ % the resolved values to the .bbl. It is conceptually neater to have just the calculated label*
+ % source field in the .bbl and let biblatex resolve the label* field using the label*source
+ % fields. However, currently there is no way/need to vary the label* resolution to pick up a
+ % different target field in biblatex and so practically, this resolution is being done twice,
+ % once by biber, once by biblatex. It is possible in the future that it would be useful to
+ % to change the resolution of the label* fields dynamically in a style/document and so this
+ % biblatex-side resolution remains.
+ %
+ % An unanswered question is whether such dynamic resolution causes problems due to the fact
+ % that biber uses the label* field to generate counters internally and changing the
+ % label* field resolution in biblatex would occur after such counters have been used to
+ % generate the .bbl
+ % This could all be removed from biblatex if necessary and biber could output all resolved
+ % label* fields to the .bbl but then it potentially removes control of such things from
+ % macros
+ %
+ % fields
+ \def\do##1{%
+ \ifcsundef{abx@field@##1source}
+ {}%
+ {\csletcs{abx@field@##1}{abx@field@\csuse{abx@field@##1source}}}}%
\dolistloop\abx@rfields%
- % Just in case we ever have non-name lists to instantiate
- % \def\do##1{%
- % \ifcsdef{abx@field@##1source}
- % {\csname c@##1\expandafter\endcsname\expandafter\the\csname c@\csuse{abx@field@##1source}\endcsname
- % \csletcs{abx@list@##1}{abx@list@\csuse{abx@field@##1source}}}
- % {}}%
- % \dolistloop\abx@rlists%
+ % names
\def\do##1{%
- \ifcsdef{abx@field@##1source}
+ \ifcsundef{abx@field@##1source}
+ {}
{\csname c@##1\expandafter\endcsname\expandafter\the\csname c@\csuse{abx@field@##1source}\endcsname
- \csletcs{abx@name@##1}{abx@name@\csuse{abx@field@##1source}}}
- {}}%
+ \csletcs{abx@name@##1}{abx@name@\csuse{abx@field@##1source}}}}%
\dolistloop\abx@rnames%
- \blx@setcitecounter}
+ % Resolve labeldate
+ % Note that here we can't refer to labelyear as this is where we create it, hence the
+ % complications in constructing test names etc.
+ % This also shows why biber shouldn't resolve labeldate fields as we have to add
+ % circa/uncertain/era etc. information to them and that has to be done here.
+ \ifundef\abx@field@labeldatesource
+ {}
+ {\ifcsundef{abx@field@\abx@field@labeldatesource year}
+ % \DeclareLabeldate resolved to a literal/localisation string or a non-date field
+ % in which case we only set labelyear.
+ {\ifcsundef{abx@field@\abx@field@labeldatesource}
+ % \DeclareLabeldate resolved to a literal/localisation string
+ {\edef\abx@field@labelyear{\abx@field@labeldatesource}}
+ % \DeclareLabeldate resolved to a non-date field. Not safe to \edef because
+ % such contents could contain arbitrary macros, unlike ETDT sourced labeldatesource values
+ {\def\abx@field@labelyear{\csuse{abx@field@\abx@field@labeldatesource}}}}
+ % \DeclareLabeldate resolved to a date field name prefix like '', 'event', 'url'
+ % or 'orig'
+ {% labeldateera/labelenddateera
+ \ifcsdef{abx@field@\abx@field@labeldatesource dateera}
+ {\edef\abx@field@labeldateera{\csuse{abx@field@\abx@field@labeldatesource dateera}}}
+ {}%
+ \ifcsdef{abx@field@\abx@field@labeldatesource enddateera}
+ {\edef\abx@field@labelenddateera{\csuse{abx@field@\abx@field@labeldatesource enddateera}}}
+ {}%
+ % labelyear/labelendyear
+ \ifcsdef{abx@field@\abx@field@labeldatesource year}
+ {\edef\abx@field@labelyear{\csuse{abx@field@\abx@field@labeldatesource year}}}
+ {}%
+ \ifcsdef{abx@field@\abx@field@labeldatesource endyear}
+ {\edef\abx@field@labelendyear{\csuse{abx@field@\abx@field@labeldatesource endyear}}}
+ {}%
+ % labelmonth
+ \ifcsdef{abx@field@\abx@field@labeldatesource month}
+ {\edef\abx@field@labelmonth{\csuse{abx@field@\abx@field@labeldatesource month}}}
+ {}%
+ \ifcsdef{abx@field@\abx@field@labeldatesource endmonth}
+ {\edef\abx@field@labelendmonth{\csuse{abx@field@\abx@field@labeldatesource endmonth}}}
+ {}%
+ % labelday/labelendday
+ \ifcsdef{abx@field@\abx@field@labeldatesource day}
+ {\edef\abx@field@labelday{\csuse{abx@field@\abx@field@labeldatesource day}}}
+ {}%
+ \ifcsdef{abx@field@\abx@field@labeldatesource endday}
+ {\edef\abx@field@labelendday{\csuse{abx@field@\abx@field@labeldatesource endday}}}
+ {}%
+ % labelhour/labelendhour
+ \ifcsdef{abx@field@\abx@field@labeldatesource hour}
+ {\edef\abx@field@labelhour{\csuse{abx@field@\abx@field@labeldatesource hour}}}
+ {}%
+ \ifcsdef{abx@field@\abx@field@labeldatesource endhour}
+ {\edef\abx@field@labelendhour{\csuse{abx@field@\abx@field@labeldatesource endhour}}}
+ {}%
+ % labelminute/labelendminute
+ \ifcsdef{abx@field@\abx@field@labeldatesource minute}
+ {\edef\abx@field@labelminute{\csuse{abx@field@\abx@field@labeldatesource minute}}}
+ {}%
+ \ifcsdef{abx@field@\abx@field@labeldatesource endminute}
+ {\edef\abx@field@labelendminute{\csuse{abx@field@\abx@field@labeldatesource endminute}}}
+ {}%
+ % labelsecond/labelendsecond
+ \ifcsdef{abx@field@\abx@field@labeldatesource second}
+ {\edef\abx@field@labelsecond{\csuse{abx@field@\abx@field@labeldatesource second}}}
+ {}%
+ \ifcsdef{abx@field@\abx@field@labeldatesource endsecond}
+ {\edef\abx@field@labelendsecond{\csuse{abx@field@\abx@field@labeldatesource endsecond}}}
+ {}%
+ % labeltimezone/labelendtimezone
+ \ifcsdef{abx@field@\abx@field@labeldatesource timezone}
+ {\edef\abx@field@labeltimezone{\csuse{abx@field@\abx@field@labeldatesource timezone}}}
+ {}%
+ \ifcsdef{abx@field@\abx@field@labeldatesource endtimezone}
+ {\edef\abx@field@labelendtimezone{\csuse{abx@field@\abx@field@labeldatesource endtimezone}}}
+ {}%
+ % labelseason/labelendseason
+ \ifcsdef{abx@field@\abx@field@labeldatesource season}
+ {\edef\abx@field@labelseason{\csuse{abx@field@\abx@field@labeldatesource season}}}
+ {}%
+ \ifcsdef{abx@field@\abx@field@labeldatesource endseason}
+ {\edef\abx@field@labelendseason{\csuse{abx@field@\abx@field@labeldatesource endseason}}}
+ {}}}}
\def\blx@getdata@cite#1{%
\ifcsdef{blx@setc@\the\c@refsection @#1}
@@ -5964,7 +6676,7 @@
\iftoggle{blx@labeltitleyear}
{\blx@bbl@labeltitleyear}
{}%
- \iftoggle{blx@labeldate}
+ \iftoggle{blx@labeldateparts}
{\blx@bbl@labeldate}
{}}
{}%
@@ -6202,7 +6914,7 @@
% rerun biber toggle so defernums doesn't consume the localnumbers
% in the .aux but instead, re-writes them, which is what we need.
\begingroup
- \def\do#1{\ifinlist{#1}{\blx@cites}{}{\blx@logreq@active{}}\relax}%
+ \def\do#1{\ifinlist{#1}\blx@cites{}{\blx@logreq@active{}}\relax}%
\dolistloop\blx@lastcites
% Special case - if we are using sortscheme "none" anywhere, then changes
% in citation order matter and we need to re-run biber. So a special test
@@ -6212,26 +6924,26 @@
% lastcite lists as strings and comparing them. This doesn't apply
% to biblist sortschemes as nobody wants to sort biblists with
% "none", since it makes no sense
- \ifinlist{none}{\blx@sortschemes}
+ \ifinlist{none}\blx@sortschemes
{\ifdefstrequal{\blx@cites}{\blx@lastcites}
{}
{\blx@logreq@active{}}}
{}%
% 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}%
+ \def\do#1{\ifinlist{#1}\blx@refcontexts{}{\blx@logreq@active{}}\relax}%
\dolistloop\blx@lastrefcontexts
% Test if we added any mention of a reference context since last run
% If we did, we need to re-run biber
- \def\do#1{\ifinlist{#1}{\blx@lastrefcontexts}{}{\blx@logreq@active{}}\relax}%
+ \def\do#1{\ifinlist{#1}\blx@lastrefcontexts{}{\blx@logreq@active{}}\relax}%
\dolistloop\blx@refcontexts
% Test if we removed any mention of a biblist since last run.
% If we did, we need to re-run biber
- \def\do#1{\ifinlist{#1}{\blx@biblists}{}{\blx@logreq@active{}}\relax}%
+ \def\do#1{\ifinlist{#1}\blx@biblists{}{\blx@logreq@active{}}\relax}%
\dolistloop\blx@lastbiblists
% Test to see if we added any mention of a biblist since last run.
% If we did, we need to re-run biber
- \def\do#1{\ifinlist{#1}{\blx@lastbiblists}{}{\blx@logreq@active{}}\relax}%
+ \def\do#1{\ifinlist{#1}\blx@lastbiblists{}{\blx@logreq@active{}}\relax}%
\dolistloop\blx@biblists
% If we have to run biber or latex again and we are using defernumbers,
% don't write the localnumber information to the .aux file yet as we will
@@ -6324,7 +7036,6 @@
\blx@tempa}
%% Data input
-
\def\blx@bblinput{%
\begingroup
\blx@info@noline{Trying to load bibliographic data..}%
@@ -6477,9 +7188,13 @@
\define@key{blx@bib1}{title}{}
\define@key{blx@bib1}{prenote}{}
\define@key{blx@bib1}{postnote}{}
-\define@key{blx@bib1}{resetnumbers}[]{}
\define@key{blx@bib1}{omitnumbers}[]{}
-\define@key{blx@bib1}{prefixnumbers}{}% legacy name for labelprefix
+\define@key{blx@bib1}{prefixnumbers}{}%LEGACY(<3.4) legacy name for labelprefix
+% Here we are using the first pass to see if there is an explicit setting for resetnumbers
+% If there isn't we will use the default behaviour where if there is a labelprefix,
+% resetnumbers will default to "true"
+\define@key{blx@bib1}{resetnumbers}[true]{%
+ \toggletrue{blx@resetnumsexplicit}}
\define@key{blx@bib2}{section}{}
\define@key{blx@bib2}{sorting}{}
@@ -6764,6 +7479,11 @@
\blx@bibheading\blx@theheading\blx@thetitle
\endgroup}
+% We use this to determine whether an explicit value for resetnumbers is passed to
+% \printbibliography, if not, then we use the default behaviour where a labelprefix forces
+% a reset. It is useful that we have a 2-pass structure for \printbibliography keys anyway.
+\newtoggle{blx@resetnumsexplicit}
+
% [<options>]
\newrobustcmd*{\printbibliography}{%
\begingroup
@@ -6774,9 +7494,6 @@
{\blx@printbibliography[]}}
\def\blx@printbibliography[#1]{%
- \ifdefempty\blx@refcontext@labelprefix
- {}
- {\csnumdef{blx@labelnumber@\the\c@refsection}{0}}%
\toggletrue{blx@tempa}%
\toggletrue{blx@tempb}%
\def\blx@theheading{bibliography}%
@@ -6800,7 +7517,16 @@
{ locale="\csuse{blx@sortdef@locale@\blx@refcontext@sorting}"}
{}}{%
\csuse{blx@sorting@\blx@refcontext@sorting}}}%
- \setkeys{blx@bib1}{#1}% Set section only, if present ...
+ %
+ \togglefalse{blx@resetnumsexplicit}%
+ \setkeys{blx@bib1}{#1}% First pass options keys - section and resetnumbers
+ % Is there a user-specified option for resetnumbers? If so, this overrides the default
+ % "labelprefix implies resetnumbers" behaviour
+ \iftoggle{blx@resetnumsexplicit}
+ {}
+ {\ifdefempty\blx@refcontext@labelprefix
+ {}
+ {\setkeys{blx@bib2}{resetnumbers}}}%
\blx@rest@actives
\ifcsvoid{blx@slist@entry@\blx@tempe @\blx@refcontext@context}
{}
@@ -7215,7 +7941,7 @@
\blx@printbibchecks
% Add the sortscheme to the list of sortschemes for this biblist
% so we can compare on next run
- \xifinlist{\blx@tempc}{\blx@biblists}
+ \xifinlist\blx@tempc\blx@biblists
{}
{\listxadd\blx@biblists\blx@tempc
\blx@auxwrite\@mainaux{}{\string\abx@aux@biblist{\blx@tempc}}}%
@@ -7325,15 +8051,35 @@
{\printfield{shorttitle}}}
% Reference contexts
+\newcommand*{\DeclareRefcontext}[2]{%
+ \csgdef{blx@refcontext@name@#1}{#2}}
+\@onlypreamble\DeclareRefcontext
+
\def\newrefcontext{%
\endrefcontext
\refcontext}
-\def\refcontext[#1]{%
+% Backwards compat for older \refcontext[] format
+\def\refcontext{%
+ \@ifnextchar[%]
+ {\refcontext@i}
+ {\refcontext@i[]}}
+
+\def\refcontext@i[#1]{%
+ \@ifnextchar\bgroup
+ {\refcontext@ii[#1]}
+ {\refcontext@ii[#1]{}}}
+
+\newcommand*{\refcontext@ii}[2][]{%
\iftoggle{blx@refcontext}
{\blx@err@nestenv{refcontext}%
\endrefcontext}
{\toggletrue{blx@refcontext}%
+ % Set refcontext from named refcontext, if given
+ \ifblank{#2}
+ {}
+ {\edef\z{\noexpand\setkeys{blx@refcontext}{\csuse{blx@refcontext@name@#2}}}\z}%
+ % Override with explicit refcontext keyvals, if given
\setkeys{blx@refcontext}{#1}%
% Add the sortscheme to the list of sortschemes so we can track
% special cases like sorting=none which need cite order change detection
@@ -7373,7 +8119,7 @@
Option 'labelprefix' requires global\MessageBreak
'defernumbers=true'}}
{}}}
-\define@key{blx@refcontext}{prefixnumbers}{% legacy
+\define@key{blx@refcontext}{prefixnumbers}{%LEGACY(<3.3)
\blx@warning@noline{%
prefixnumbers option to \string\newrefcontext\space has been renamed,
use 'labelprefix' option instead}%
@@ -7983,7 +8729,7 @@
\blx@tempcnta\z@
\blx@tempcntb\z@
\let\blx@tempa\@empty
- \forcsvlist\blx@citeadd{#1}%
+ \forcsvlist\blx@citeadd{#1}% adds to \blx@tempa
\blx@thenotecheck
\ifnum\blx@tempcnta>\z@
\ifnum\blx@tempcntb>\z@
@@ -7991,6 +8737,8 @@
\fi
\fi
\letcs\blx@tempb{blx@slist@centry@\the\c@refsection @\blx@refcontext@context}%
+ % \blx@tempb is a sorted list of all cites, \blx@tempa is the list of cites to
+ % sort using this list
\blx@thecitesort
\edef\blx@tempa{\endgroup
\c@citecount\z@
@@ -8041,13 +8789,9 @@
% 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
- % However, only do this if sortcites is not used for in this case, by default we
- % want to use the current refcontext in which the cites occur
- \ifbool{sortcites}
- {}
- {\ifcsdef{blx@assignedrefcontextbib@\the\c@refsection @#1}
- {\letcs\blx@refcontext@context{blx@assignedrefcontextbib@\the\c@refsection @#1}}
- {\edef\blx@refcontext@context{\blx@sorting/global/}}}%
+ \ifcsdef{blx@assignedrefcontextbib@\the\c@refsection @#1}
+ {\letcs\blx@refcontext@context{blx@assignedrefcontextbib@\the\c@refsection @#1}}
+ {\edef\blx@refcontext@context{\blx@sorting/global/}}%
% assignment via keyword list
\ifdef\blx@assignedrefcontextkeywlist
{\def\do##1{%
@@ -8137,7 +8881,6 @@
\let\blx@refcontext@context\blx@refcontext@context@saved}
% cite counter
-
\def\blx@citecounter@global{%
\ifbool{@filesw}
{\ifbool{citetracker}
@@ -8159,7 +8902,6 @@
{}}
% {<refsection>}{<entrykey>}
-
\protected\def\blx@aux@count#1#2{%
\csnumgdef{blx@count@#1@\detokenize{#2}}{\csuse{blx@count@#1@\detokenize{#2}}+1}}
\protected\def\blx@aux@fncount#1#2{%
@@ -8185,7 +8927,6 @@
\relax}
% cite tracker
-
\def\blx@citetracker@global{%
\ifbool{citetracker}
{\xifinlistcs\abx@field@entrykey{blx@bsee@\the\c@refsection}
@@ -8217,7 +8958,6 @@
\global\cslet{blx@saved@fsee@\the\c@refsection}\@empty}
% ibidem tracker
-
\def\blx@ibidtracker@global{%
\ifbool{citetracker}
{\global\let\blx@lastkey@text\abx@field@entrykey}
@@ -8268,7 +9008,6 @@
\global\undef\blx@saved@lastkey@foot}
% idem tracker
-
\def\blx@idemtracker@global{%
\ifbool{citetracker}
{\global\let\blx@lasthash@text\abx@field@fullhash}
@@ -8314,7 +9053,6 @@
\global\undef\blx@saved@lasthash@foot}
% opcit tracker
-
\def\blx@opcittracker@global{%
\ifbool{citetracker}
{\blx@opcit@tracker{text}}
@@ -8403,7 +9141,6 @@
\endgroup}
% loccit tracker
-
\def\blx@loccittracker@global{%
\ifbool{citetracker}
{\blx@loccit@tracker{text}}
@@ -8582,7 +9319,6 @@
\fi}
% hyperref interface
-
\appto\blx@mkhyperref{%
\protected\def\blx@imc@bibhyperref{%
\@ifnextchar[%]
@@ -9204,15 +9940,14 @@
\def\iffootnote{\blx@TE{\iftoggle{blx@footnote}}}%
\def\ifuseprefix{\blx@TE{\iftoggle{blx@useprefix}}}%
\def\ifterseinits{\blx@TE{\iftoggle{blx@terseinits}}}%
- \def\iffirstinits{\blx@TE{\iftoggle{blx@giveninits}}}% legacy name for \ifgiveninits
- \def\ifgiveninits{\blx@TE{\iftoggle{blx@giveninits}}}%
\def\ifsingletitle{\blx@TE{\iftoggle{abx@bool@singletitle}}}%
\def\ifuniquetitle{\blx@TE{\iftoggle{abx@bool@uniquetitle}}}%
+ \def\ifuniquebaretitle{\blx@TE{\iftoggle{abx@bool@uniquebaretitle}}}%
+ \def\ifuniquework{\blx@TE{\iftoggle{abx@bool@uniquework}}}%
\def\ifuniqueprimaryauthor{\blx@TE{\iftoggle{abx@bool@uniqueprimaryauthor}}}%
\def\ifandothers#1{\blx@TE{\iftoggle{abx@bool@more#1}}}}}
% {<listmacro>}{<filtercsname>} => matches in <listmacro>
-
\protected\def\blx@bibfilter#1#2{%
\begingroup
\edef\blx@do##1{%
@@ -9230,7 +9965,6 @@
\blx@tempa}
%% Auxiliary macros
-
\newrobustcmd*{\mkbibquote}{\enquote}
\protected\def\blx@imc@mkbibquote{%
\blx@ifuspunct\blx@usquote\enquote}
@@ -9629,6 +10363,13 @@
\xdef\blx@xml@sourcemap@step#1{%
~~~~~~~~<bcf:map\string_step#1/>\blx@nl}
+\xdef\blx@xml@labelalphanametemplate#1#2{%
+ ~~<bcf:labelalphanametemplate type="#1">\blx@nl
+ #2%
+ ~~</bcf:labelalphanametemplate>\blx@nl}
+\xdef\blx@xml@labelalphanametemplatenamepart#1#2#3{%
+ ~~~~<bcf:namepart #1#2>#3</bcf:namepart>\blx@nl}
+
\xdef\blx@xml@labelalphatemplate#1#2{%
~~<bcf:labelalphatemplate type="#1">\blx@nl
#2%
@@ -9648,9 +10389,9 @@
~~~~<bcf:defaults#1>\blx@nl
#2%
~~~~</bcf:defaults>\blx@nl}
-\xdef\blx@xml@inherit@data#1{%
- ~~~~<bcf:inherit>\blx@nl
- #1%
+\xdef\blx@xml@inherit@data#1#2{%
+ ~~~~<bcf:inherit#1>\blx@nl
+ #2%
~~~~</bcf:inherit>\blx@nl}
\xdef\blx@xml@inherit@type#1#2#3{%
~~~~~~<bcf:type\string_pair source="#1" target="#2"#3/>\blx@nl}
@@ -9687,6 +10428,14 @@
\xdef\blx@xml@nolabelwidthcount#1{%
~~~~<bcf:nolabelwidthcount value="#1"/>\blx@nl}
+\xdef\blx@xml@uniquenametemplate#1{%
+ ~~<bcf:uniquenametemplate>\blx@nl%
+ #1%
+ ~~</bcf:uniquenametemplate>\blx@nl}
+
+\xdef\blx@xml@uniquenametemplatenamepart#1#2#3{%
+ ~~~~<bcf:namepart #1#2>#3</bcf:namepart>\blx@nl}
+
\xdef\blx@xml@sortingnamekey#1#2{%
~~<bcf:sortingnamekey keyscheme="#1">\blx@nl%
#2%
@@ -9778,8 +10527,10 @@
\blx@xml@toggle{labeltitle}%
\blx@xml@mvalue{labeltitlespec}{\blx@bcf@labeltitlespec}%
\blx@xml@toggle{labeltitleyear}%
- \blx@xml@toggle{labeldate}%
+ \blx@xml@toggle{labeldateparts}%
\blx@xml@mvalue{labeldatespec}{\blx@bcf@labeldatespec}%
+ \blx@xml@toggle{julian}%
+ \blx@xml@svalue{gregorianstart}{\blx@gregorianstart}%
\blx@xml@svalue{maxalphanames}{\blx@maxalphanames}%
\blx@xml@svalue{maxbibnames}{\blx@maxbibnames}%
\blx@xml@svalue{maxcitenames}{\blx@maxcitenames}%
@@ -9796,6 +10547,8 @@
\blx@xml@svalue{uniquename}{\blx@uniquename}%
\blx@xml@toggle{uniqueprimaryauthor}%
\blx@xml@toggle{uniquetitle}%
+ \blx@xml@toggle{uniquebaretitle}%
+ \blx@xml@toggle{uniquework}%
\blx@xml@toggle{useprefix}%
\blx@xml@nametoggles
}%
@@ -9815,7 +10568,7 @@
{\csuse{blx@bcf@labeltitlespec@#1}}
{\blx@bcf@labeltitlespec}}%
\blx@xml@toggle{labeltitleyear}%
- \blx@xml@toggle{labeldate}%
+ \blx@xml@toggle{labeldateparts}%
\blx@xml@mvalue{labeldatespec}{%
\ifcsdef{blx@bcf@labeldatespec@#1}
{\csuse{blx@bcf@labeldatespec@#1}}
@@ -9836,6 +10589,8 @@
\blx@xml@svalue{uniquename}{\blx@uniquename}%
\blx@xml@toggle{uniqueprimaryauthor}%
\blx@xml@toggle{uniquetitle}%
+ \blx@xml@toggle{uniquebaretitle}%
+ \blx@xml@toggle{uniquework}%
\blx@xml@toggle{useprefix}%
\blx@xml@nametoggles
}%
@@ -9864,7 +10619,6 @@
\blx@xml@svalue{mincrossrefs}{\blx@mincrossrefs}%
\blx@xml@svalue{minxrefs}{\blx@minxrefs}%
\blx@xml@toggle{sortcase}%
- \blx@xml@toggle{sortgiveninits}%
\blx@xml@toggle{sortupper}%
}%
\blx@xml@comment{BIBLATEX OPTIONS}%
@@ -9943,28 +10697,29 @@
{\eappto\blx@tempa{%
\blx@xml@comment{SOURCEMAP}%
\blx@xml@sourcemap{%
- \ifcsdef{blx@sourcemap@user}
- {\csuse{blx@sourcemap@user}}
- {}%
- \ifcsdef{blx@sourcemap@style}
- {\csuse{blx@sourcemap@style}}
- {}%
- \ifcsdef{blx@sourcemap@defaults@bibtex}
- {\csuse{blx@sourcemap@defaults@bibtex}}
- {}%
- \ifcsdef{blx@sourcemap@defaults@biblatexml}
- {\csuse{blx@sourcemap@defaults@biblatexml}}
- {}%
- \ifcsdef{blx@sourcemap@defaults@endnotexml}
- {\csuse{blx@sourcemap@defaults@endnotexml}}
- {}%
- \ifcsdef{blx@sourcemap@defaults@ris}
- {\csuse{blx@sourcemap@defaults@ris}}
- {}%
- \ifcsdef{blx@sourcemap@defaults@zoterordfxml}
- {\csuse{blx@sourcemap@defaults@zoterordfxml}}
- {}}}}
+ \ifdef\blx@sourcemap@user
+ {\blx@sourcemap@user}
+ {}%
+ \ifdef\blx@sourcemap@style
+ {\blx@sourcemap@style}
+ {}%
+ \ifdef\blx@sourcemap@defaults@bibtex
+ {\blx@sourcemap@defaults@bibtex}
+ {}%
+ \ifdef\blx@sourcemap@defaults@biblatexml
+ {\blx@sourcemap@defaults@biblatexml}
+ {}}}}
{}%
+ % labelalpha name template
+ \eappto\blx@tempa{%
+ \blx@xml@comment{LABELALPHA NAME TEMPLATE}}%
+ \def\do##1{%
+ \eappto\blx@tempa{%
+ \blx@xml@labelalphanametemplate{##1}{%
+ \csuse{blx@labelalphanametemplate@##1}}%
+ }%
+ }%
+ \dolistloop\blx@lantem@type
% labelalpha template
\eappto\blx@tempa{%
\blx@xml@comment{LABELALPHA TEMPLATE}}%
@@ -10026,6 +10781,9 @@
\def\do##1{%
\eappto\blx@tempa{\blx@xml@transliteration{##1}{\csuse{blx@translit@##1}}}}%
\dolistloop\blx@translits}%
+ % uniquenametemplate
+ \eappto\blx@tempa{\blx@xml@comment{UNIQUENAME TEMPLATE}}%
+ \eappto\blx@tempa{\blx@xml@uniquenametemplate{\blx@uniquenametemplate}}%
% sortingnamekey
\eappto\blx@tempa{\blx@xml@comment{SORTING NAME KEY}}%
\def\do##1{%
@@ -10212,7 +10970,7 @@
\let\maps\blx@stylesourcemap@maps
\let\blx@tempa\@empty
#1%
- \csxdef{blx@sourcemap@style}{\blx@tempa}%
+ \xappto\blx@sourcemap@style\blx@tempa%
\endgroup}
\@onlypreamble\DeclareStyleSourcemap
@@ -10287,6 +11045,8 @@
{}}
\define@key{blx@sourcemap@map}{foreach}{% characters
\eappto\blx@tempm{ map\string_foreach="#1"}}
+\define@key{blx@sourcemap@map}{refsection}{% integer
+ \eappto\blx@tempm{ refsection="#1"}}
\newcommand*{\blx@sourcemap@perdatasource}[1]{%
\eappto\blx@tempe{%
@@ -10316,6 +11076,8 @@
{}}
\define@key{blx@sourcemap@step}{fieldsource}{% characters
\eappto\blx@tempf{ map\string_field\string_source="#1"}}
+\define@key{blx@sourcemap@step}{notfield}{% characters
+ \eappto\blx@tempf{ map\string_notfield="#1"}}
\define@key{blx@sourcemap@step}{fieldtarget}{% characters
\eappto\blx@tempf{ map\string_field\string_target="#1"}}
\define@key{blx@sourcemap@step}{fieldset}{% characters
@@ -10364,12 +11126,68 @@
\define@key{blx@sourcemap@step}{replace}{% characters
\eappto\blx@tempf{ map\string_replace="#1"}}
-%%%
+% [<entrytype>]{<spec>}
+\newrobustcmd*{\DeclareLabelalphaNameTemplate}[2][]{%
+ \ifblank{#1}
+ {\blx@lantem{#2}{global}}
+ {\forcsvlist{\blx@lantem{#2}}{#1}}}
+\@onlypreamble\DeclareLabelalphaNameTemplate
+\blx@collectopts{xml}{blx@globalopts}{labelalphanametemplate}% for passing to the .bcf
+\blx@collectopts{xml}{blx@typeopts}{labelalphanametemplate}% for passing to the .bcf
+\def\blx@lantem#1#2{%
+ \begingroup
+ \let\namepart\blx@lantem@namepart
+ \let\blx@tempa\@empty
+ \blx@tempcnta\z@
+ #1%
+ \ifdef\blx@lantem@type
+ {\ifinlist{#2}\blx@lantem@type
+ {\global\cslet{blx@labelalphanametemplate@#2}\blx@tempa}
+ {\listgadd\blx@lantem@type{#2}%
+ \global\cslet{blx@labelalphanametemplate@#2}\blx@tempa}}
+ {\listgadd\blx@lantem@type{#2}%
+ \global\cslet{blx@labelalphanametemplate@#2}\blx@tempa}%
+ \endgroup}
+
+\newcommand*{\blx@lantem@namepart}[2][]{%
+ \advance\blx@tempcntb\@ne
+ \edef\blx@tempe{order="\the\blx@tempcntb"}%
+ \let\blx@tempc\@empty
+ \ifblank{#1}
+ {}
+ {\setkeys{blx@lantem@namepart}{#1}}%
+ \eappto\blx@tempa{%
+ \blx@xml@labelalphanametemplatenamepart{\blx@tempe}{\blx@tempc}{#2}}}
+
+\define@key{blx@lantem@namepart}{use}[true]{% use* option for namepart true|false
+ \ifstrequal{#1}{true}
+ {\appto\blx@tempc{ use="1"}}
+ {}}
+
+\define@key{blx@lantem@namepart}{pre}[true]{% pre option for namepart true|false
+ \ifstrequal{#1}{true}
+ {\appto\blx@tempc{ pre="1"}}
+ {}}
+
+\define@key{blx@lantem@namepart}{compound}[true]{% base option for namepart true|false
+ \ifstrequal{#1}{true}
+ {\appto\blx@tempc{ substring\string_compound="1"}}
+ {}}
+
+\define@key{blx@lantem@namepart}{strwidth}{% integer
+ \eappto\blx@tempc{ substring\string_width="#1"}}
+
+\define@key{blx@lantem@field}{strside}{% left|right
+ \ifstrequal{#1}{right}
+ {\eappto\blx@tempc{ substring\string_side="right"}}
+ {\eappto\blx@tempc{ substring\string_side="left"}}}
+
+% [<entrytype>]{<spec>}
\newrobustcmd*{\DeclareLabelalphaTemplate}[2][]{%
\ifblank{#1}
- {\blx@latem{#2}{global}}
- {\forcsvlist{\blx@latem{#2}}{#1}}}
+ {\blx@latem{#2}{global}}
+ {\forcsvlist{\blx@latem{#2}}{#1}}}
\@onlypreamble\DeclareLabelalphaTemplate
\blx@collectopts{xml}{blx@globalopts}{labelalphatemplate}% for passing to the .bcf
\blx@collectopts{xml}{blx@typeopts}{labelalphatemplate}% for passing to the .bcf
@@ -10383,10 +11201,10 @@
\let\blx@tempa\@empty
#1%
\ifdef\blx@latem@type
- {\ifinlist{#2}{\blx@latem@type}
+ {\ifinlist{#2}\blx@latem@type
{\global\cslet{blx@labelalphatemplate@#2}\blx@tempa}
{\listgadd\blx@latem@type{#2}%
- \global\cslet{blx@labelalphatemplate@#2}\blx@tempa}}%
+ \global\cslet{blx@labelalphatemplate@#2}\blx@tempa}}
{\listgadd\blx@latem@type{#2}%
\global\cslet{blx@labelalphatemplate@#2}\blx@tempa}%
\endgroup}
@@ -10411,6 +11229,23 @@
\eappto\blx@tempb{%
\blx@xml@labelalpha@part{\blx@tempc}{#2}}}
+% Legacy options moved to \namepart in \DeclareLabelalphaNameTemplate
+\define@key{blx@latem@field}{compound}{% deprecated
+ \blx@warning@noline{%
+ Ignored 'compound' option to \string\field\space in \string\DeclareLabelalphaNameTemplate\MessageBreak
+ This is now the 'compound' option of \string\namepart\space in\MessageBreak
+ \string\DeclareLabelalphaNameTemplate}}
+\define@key{blx@latem@field}{pcompound}{% deprecated
+ \blx@warning@noline{%
+ Ignored 'pcompound' option to \string\field\space in \string\DeclareLabelalphaNameTemplate\MessageBreak
+ This is now the 'compound' option of \string\namepart\space in\MessageBreak
+ \string\DeclareLabelalphaNameTemplate}}
+\define@key{blx@latem@field}{pstrwidth}{% deprecated
+ \blx@warning@noline{%
+ Ignored 'pstrwidth' option to \string\field\space in \string\DeclareLabelalphaNameTemplate\MessageBreak
+ This is now the 'strwidth' option of \string\namepart\space in\MessageBreak
+ \string\DeclareLabelalphaNameTemplate}}
+
\define@key{blx@latem@field}{uppercase}[true]{% true|false
\ifstrequal{#1}{true}
{\appto\blx@tempc{ uppercase="1"}}
@@ -10425,8 +11260,6 @@
{}}
\define@key{blx@latem@field}{strwidth}{% integer
\eappto\blx@tempc{ substring\string_width="#1"}}
-\define@key{blx@latem@field}{pstrwidth}{% integer
- \eappto\blx@tempc{ substring\string_pwidth="#1"}}
\define@key{blx@latem@field}{varwidth}[true]{% "v"
\ifstrequal{#1}{true}
{\appto\blx@tempc{ substring\string_width="v"}}
@@ -10447,14 +11280,6 @@
\ifstrequal{#1}{right}
{\eappto\blx@tempc{ substring\string_side="right"}}
{\eappto\blx@tempc{ substring\string_side="left"}}}
-\define@key{blx@latem@field}{compound}[true]{% true|false
- \ifstrequal{#1}{true}
- {\appto\blx@tempc{ substring\string_compound="1"}}
- {}}
-\define@key{blx@latem@field}{pcompound}[true]{% true|false
- \ifstrequal{#1}{true}
- {\appto\blx@tempc{ substring\string_pcompound="1"}}
- {}}
\define@key{blx@latem@field}{namessep}{%
\eappto\blx@tempc{ namessep="#1"}}
\define@key{blx@latem@field}{ifnames}{%
@@ -10472,15 +11297,16 @@
{\eappto\blx@tempc{ pad\string_side="right"}}}
% [<exceptions>]{<options>}
-
\newrobustcmd*{\DefaultInheritance}[2][]{%
\begingroup
+ \let\blx@tempf\@empty
\ifblank{#2}
{}
{\setkeys{blx@inherit@default}{#2}}%
\edef\blx@tempa{\space
inherit\string_all="\iftoggle{blx@inherit@all}{true}{false}"\space
- override\string_target="\iftoggle{blx@inherit@override}{true}{false}"}%
+ override\string_target="\iftoggle{blx@inherit@override}{true}{false}"%
+ \blx@tempf}%
\let\blx@tempb\@empty
\let\except\blx@inherit@except
#1%
@@ -10496,9 +11322,10 @@
\settoggle{blx@inherit@all}{#1}}
\define@key{blx@inherit@default}{override}[true]{% true|false
\settoggle{blx@inherit@override}{#1}}
+\define@key{blx@inherit@default}{ignore}{% csv list
+ \edef\blx@tempf{ ignore="#1"}}
% {<source>}{<target>}{<options>}
-
\newcommand*{\blx@inherit@except}[3]{%
\let\blx@tempc\@empty
\ifblank{#3}
@@ -10511,18 +11338,24 @@
\eappto\blx@tempc{ inherit\string_all="#1"}}
\define@key{blx@inherit@except}{override}[true]{% true|false
\eappto\blx@tempc{ override\string_target="#1"}}
+\define@key{blx@inherit@except}{ignore}{% csv list
+ \eappto\blx@tempc{ ignore="#1"}}
% {<type,type,...>}{<type,type,...>}{<spec>}
-\newrobustcmd*{\DeclareDataInheritance}[3]{%
+\newrobustcmd*{\DeclareDataInheritance}[4][]{%
\begingroup
\let\blx@tempa\@empty
- \forcsvlist{\blx@inherit@i{#2}}{#1}%
+ \let\blx@tempf\@empty
+ \ifblank{#1}
+ {}
+ {\setkeys{blx@inherit}{#1}}%
+ \forcsvlist{\blx@inherit@i{#3}}{#2}%
\let\blx@tempb\@empty
\let\inherit\blx@inherit@field
\let\noinherit\blx@inherit@block
- #3%
+ #4%
\xappto\blx@inherit@data{%
- \blx@xml@inherit@data{%
+ \blx@xml@inherit@data{\blx@tempf}{%
\blx@tempa
\blx@tempb}}%
\endgroup}
@@ -10548,6 +11381,9 @@
\newcommand*{\blx@inherit@block}[1]{%
\eappto\blx@tempb{\blx@xml@inherit@block{#1}}}
+\define@key{blx@inherit}{ignore}{% csv list
+ \edef\blx@tempf{ ignore="#1"}}
+
\define@key{blx@inherit@field}{override}[true]{% true|false
\ifstrequal{#1}{true}
{\edef\blx@tempc{ override\string_target="true"}}
@@ -10611,6 +11447,38 @@
\eappto\blx@tempb{%
\blx@xml@translit{#1}{#2}{#3}}}
+% {<spec>}
+\newrobustcmd*{\DeclareUniquenameTemplate}[1]{%
+ \begingroup
+ \let\namepart\blx@untemp@namepart
+ \let\blx@tempa\@empty
+ \blx@tempcnta\z@
+ #1%
+ \global\let\blx@uniquenametemplate\blx@tempa
+ \endgroup}
+\@onlypreamble\DeclareUniquenameTemplate
+\blx@collectopts{xml}{blx@globalopts}{uniquenametemplate}% for passing to the .bcf
+
+\newcommand*{\blx@untemp@namepart}[2][]{%
+ \advance\blx@tempcntb\@ne
+ \edef\blx@tempe{order="\the\blx@tempcntb"}%
+ \let\blx@tempc\@empty
+ \ifblank{#1}
+ {}
+ {\setkeys{blx@untemp@namepart}{#1}}%
+ \eappto\blx@tempa{%
+ \blx@xml@uniquenametemplatenamepart{\blx@tempe}{\blx@tempc}{#2}}}
+
+\define@key{blx@untemp@namepart}{use}[true]{% use* option for namepart true|false
+ \ifstrequal{#1}{true}
+ {\appto\blx@tempc{ use="1"}}
+ {}}
+
+\define@key{blx@untemp@namepart}{base}[true]{% base option for namepart true|false
+ \ifstrequal{#1}{true}
+ {\appto\blx@tempc{ base="1"}}
+ {}}
+
% [<specname>]{<spec>}
\newrobustcmd*{\DeclareSortingNamekeyScheme}[2][]{%
\begingroup
@@ -10668,6 +11536,11 @@
{\appto\blx@tempc{ use="1"}}
{\appto\blx@tempc{ use="0"}}}
+\define@key{blx@sortnk@namepart}{inits}[true]{% initials only option for namepart true|false
+ \ifstrequal{#1}{true}
+ {\appto\blx@tempc{ inits="1"}}
+ {\appto\blx@tempc{ inits="0"}}}
+
% {<name>}{<spec>}
\newrobustcmd*{\DeclareSortingScheme}[3][]{%
\ifblank{#1}
@@ -10675,9 +11548,15 @@
{\setkeys{blx@sortdef@sorting}{#1}%
\csxdef{blx@sortdef@locale@#2}{\blx@templ}}%
\begingroup
+ \def\name{%LEGACY(<2.0)
+ \blx@warning@noline{%
+ '\string\name' is deprecated in sorting specifications, please use '\string\field'}%
+ \blx@sortdef@field}%
+ \def\list{%LEGACY(<2.0)
+ \blx@warning@noline{%
+ '\string\list' is deprecated in sorting specifications, please use '\string\field'}%
+ \blx@sortdef@field}%
\let\sort\blx@sortdef@sort
- \let\name\blx@sortdef@field% legacy pre-biblatex 2.0 compat
- \let\list\blx@sortdef@field% legacy pre-biblatex 2.0 compat
\let\field\blx@sortdef@field
\let\literal\blx@sortdef@literal
\def\citeorder{\blx@sortdef@field{citeorder}}%
@@ -10794,7 +11673,6 @@
\appto\blx@tempa{\blx@xml@exclude{#1}}}
% [<type,type,...>]{<field,field,...>}
-
\newrobustcmd*{\DeclareLabelname}[2][]{%
\begingroup
\let\blx@tempa\@empty
@@ -10906,7 +11784,7 @@
\def\blx@addtypeopt#1{%
\notblank{#1}
{\ifdef\blx@opts@type
- {\ifinlist{#1}{\blx@opts@type}
+ {\ifinlist{#1}\blx@opts@type
{}
{\listgadd\blx@opts@type{#1}}}
{\listgadd\blx@opts@type{#1}}}
@@ -11162,6 +12040,22 @@
#3=#4}
{}}
+% Legacy for giveninits
+\DeclareBibliographyOption[boolean]{firstinits}[true]{%
+ \blx@warning@noline{%
+ 'firstinits' option is deprecated, use 'giveninits' instead}%
+ \settoggle{abx@bool@giveninits}{#1}}
+
+% Legacy for sortfirstinits/sortgiveninits
+\DeclareBibliographyOption[boolean]{sortfirstinits}[true]{%
+ \blx@warning@noline{%
+ 'sortfirstinits' option is deprecated, use 'inits' option\MessageBreak
+ to \string\namepart\space in \string\DeclareSortingNamekeyScheme}}
+\DeclareBibliographyOption[boolean]{sortgiveninits}{%
+ \blx@warning@noline{%
+ 'sortgiveninits' option is deprecated, use 'inits' option\MessageBreak
+ to \string\namepart\space in \string\DeclareSortingNamekeyScheme}}
+
\DeclareBibliographyOption[boolean]{terseinits}[true]{%
\ifstrequal{#1}{true}
{\toggletrue{blx@terseinits}
@@ -11173,24 +12067,6 @@
\renewrobustcmd*{\bibinitdelim}{\addnbspace}
\renewrobustcmd*{\bibinithyphendelim}{\adddot\mbox{-}}}}
-% Legacy for giveninits
-\DeclareBibliographyOption[boolean]{firstinits}[true]{%
- \blx@warning@noline{%
- 'firstinits' option is deprecated, use 'giveninits' instead}%
- \settoggle{blx@giveninits}{#1}}
-
-% Legacy for sortgiveninits
-\DeclareBibliographyOption[boolean]{sortfirstinits}[true]{%
- \blx@warning@noline{%
- 'sortfirstinits' option is deprecated, use 'sortgiveninits' instead}%
- \settoggle{blx@sortgiveninits}{#1}}
-
-\DeclareBibliographyOption[boolean]{giveninits}[true]{%
- \settoggle{blx@giveninits}{#1}}
-
-\DeclareBibliographyOption[boolean]{sortgiveninits}[true]{%
- \settoggle{blx@sortgiveninits}{#1}}
-
\DeclareBibliographyOption[boolean]{abbreviate}[true]{%
\ifstrequal{#1}{true}
{\def\abx@str{abx@sstr}}
@@ -11198,8 +12074,10 @@
\DeclareBibliographyOption[boolean]{dateabbrev}[true]{%
\ifstrequal{#1}{true}
- {\let\abx@bibmonth\blx@imc@bibsstring}
- {\let\abx@bibmonth\blx@imc@biblstring}}
+ {\let\abx@bibmonth\blx@imc@bibsstring
+ \let\abx@bibseason\blx@imc@bibsstring}
+ {\let\abx@bibmonth\blx@imc@biblstring
+ \let\abx@bibseason\blx@imc@biblstring}}
\DeclareBibliographyOption[string]{sortlocale}{%
\edef\blx@sortlocale{\detokenize{#1}}}
@@ -11591,44 +12469,207 @@
{\blx@err@invopt{maxparens=#1}{}}
{\setcounter{maxparens}{#1}}}
+\newtoggle{blx@labeldateusetime}
+\DeclareBibliographyOption[boolean]{labeldateusetime}[true]{%
+ \ifstrequal{#1}{true}
+ {\toggletrue{blx@labeldateusetime}}
+ {\togglefalse{blx@labeldateusetime}}}
+
+\DeclareBibliographyOption[string]{labeldate}{%
+ % 'true' or 'false' means that the user thinks that this is the old 'labeldate'
+ % option which is now 'labeldateparts' (which is a boolean).
+ \ifboolexpr{%
+ test {\ifstrequal{#1}{true}}
+ or
+ test {\ifstrequal{#1}{false}}}
+ {\blx@warning@noline{%
+ 'labeldate' option used to determine whether to provide label date fields and\MessageBreak
+ extrayear field is renamed to 'labeldateparts', setting this instead. This option is
+ now used to set the format of the labeldate}%
+ \settoggle{blx@labeldateparts}{#1}}
+ {\ifstrequal{#1}{iso8601}
+ {\blx@warning@noline{%
+ 'iso8601' date format specifier is deprecated, use 'edtf' instead}%
+ \def\blx@dateformat@labeldate{edtf}%
+ \renewrobustcmd*{\bibdateeraendprefix}{\bibdateeraprefix}}
+ {\def\blx@dateformat@labeldate{#1}}%
+ \ifstrequal{#1}{ymd}
+ {\renewrobustcmd*{\bibdaterangesep}{\slash}%
+ \renewrobustcmd*{\bibtimerangesep}{\slash}%
+ \renewrobustcmd*{\bibdateeraendprefix}{\bibdateeraprefix}}
+ {}%
+ \ifstrequal{#1}{edtf}% bibdaterangesep hard-coded to slash, no extra space before prefices
+ {\renewrobustcmd*{\bibdateeraendprefix}{\bibdateeraprefix}}
+ {}%
+ \ifcsdef{mkdaterange#1}
+ {\protected\def\blx@imc@printlabeldate{\csuse{mkdaterange#1}{label}}
+ \protected\def\blx@imc@printlabeldateextra{\csuse{mkdaterange#1extra}{label}}}
+ {\ifcsdef{mkbibrange#1}%LEGACY(<3.5)
+ {\protected\def\blx@imc@printlabeldate{\csuse{mkbibrange#1}{label}}
+ \protected\def\blx@imc@printlabeldateextra{\csuse{mkbibrange#1extra}{label}}}
+ {\blx@err@invopt{labeldate=#1}{}}}}}
+
\DeclareBibliographyOption[string]{datelabel}{%
- \ifcsdef{mkbibrange#1}
- {\protected\def\blx@imc@printdatelabel{%
- \blx@imc@iffieldundef{year}
- {\csuse{mkbibrange#1}{label}}
- {\csuse{mkbibrange#1}{}}}%
- \protected\def\blx@imc@printdateextralabel{%
- \blx@imc@iffieldundef{year}
- {\csuse{mkbibrange#1extra}{label}}
- {\csuse{mkbibrange#1extra}{}}}}
- {\blx@err@invopt{datelabel=#1}{}}}
+ \blx@warning@noline{%
+ 'datelabel' option is deprecated, use 'labeldate' instead}%
+ \setkeys{blx@opt@pre}{labeldate=#1}}
+\DeclareBibliographyOption[string]{labeltime}{%
+ \ifcsdef{mktimerange#1}
+ {\def\blx@timeformat@labeltime{#1}%
+ \protected\def\blx@imc@printlabeltime{\csuse{mktimerange#1}{label}}}
+ {\blx@err@invopt{labeltime=#1}{}}}
-\def\do#1{%
- \DeclareBibliographyOption[string]{#1}{%
- \StrCut{#1}{date}\blx@datetype\blx@tempnull
- \ifcsdef{mkbibrange##1}
- {\protected\csedef{blx@imc@print#1}{\noexpand\csuse{mkbibrange##1}{\blx@datetype}}}
- {\blx@err@invopt{#1=##1}{}}%
- \ifcsdef{mkbibrange##1extra}
- {\protected\csedef{blx@imc@print#1extra}{\noexpand\csuse{mkbibrange##1extra}{\blx@datetype}}}
- {}}}
-\abx@dodates
+% Date meta-information
+\DeclareBibliographyOption[string]{dateera}{%
+ \ifboolexpr{%
+ test {\ifstrequal{#1}{astronomical}}
+ or
+ test {\ifstrequal{#1}{secular}}
+ or
+ test {\ifstrequal{#1}{christian}}}
+ {\def\blx@dateera{#1}%
+ \ifstrequal{#1}{secular}
+ {\def\blx@dateera@bce{beforecommonera}%
+ \def\blx@dateera@ce{commonera}}
+ {}%
+ \ifstrequal{#1}{christian}
+ {\def\blx@dateera@bce{beforechrist}%
+ \def\blx@dateera@ce{annodomini}}
+ {}}
+ {\blx@err@invopt{dateera=#1}{}}}
-% Default for new date fields is "comp" but this is overridden below by
-% biblatex defaults
-\def\do#1{\setkeys{blx@opt@pre}{#1=comp}}
-\abx@dodates
+% Effectively turns off dateeraauto since it's only used on ce dates which
+% are never less than zero (as that would be a bce date)
+\numdef\blx@dateeraauto{0}
+\DeclareBibliographyOption[integer]{dateeraauto}{%
+ \numdef\blx@dateeraauto{#1}}
+
+\newtoggle{blx@datecirca}
+\DeclareBibliographyOption[boolean]{datecirca}[true]{%
+ \ifstrequal{#1}{true}
+ {\toggletrue{blx@datecirca}%
+ \protected\def\datecircaprint{%
+ \ifdatecirca{\bibstring{circa}\printdelim{datecircadelim}}{}}%
+ \protected\def\enddatecircaprint{%
+ \ifenddatecirca{\bibstring{circa}\printdelim{datecircadelim}}{}}%
+ \protected\def\datecircaprintedtf{%
+ \ifdatecirca{\textasciitilde}{}}%
+ \protected\def\enddatecircaprintedtf{%
+ \ifenddatecirca{\textasciitilde}{}}}
+ {\togglefalse{blx@datecirca}}}
+
+\newtoggle{blx@dateuncertain}
+\DeclareBibliographyOption[boolean]{dateuncertain}[true]{%
+ \ifstrequal{#1}{true}
+ {\toggletrue{blx@dateuncertain}%
+ \protected\def\dateuncertainprint{%
+ \ifdateuncertain{\bibdateuncertain}{}}%
+ \protected\def\enddateuncertainprint{%
+ \ifenddateuncertain{\bibdateuncertain}{}}}
+ {\togglefalse{blx@dateuncertain}}}
+
+% *time format options - auto-created for all datamodel date fields
+% *date format options - auto-created for all datamodel date fields
+% *dateusetime options - auto-created for all datamodel date fields
+% Date metadata toggles are defined in one of the \abx@dobooleans calls
+\def\do#1{%
+ \DeclareBibliographyOption[string]{#1date}{%
+ \ifstrequal{##1}{iso8601}
+ {\blx@warning@noline{'iso8601' date format specifier is deprecated, use 'edtf' instead}%
+ \csdef{blx@dateformat@#1date}{edtf}}
+ {\csdef{blx@dateformat@#1date}{##1}}%
+ \ifstrequal{##1}{ymd}
+ {\renewrobustcmd*{\bibdaterangesep}{\slash}%
+ \renewrobustcmd*{\bibtimerangesep}{\slash}%
+ \renewrobustcmd*{\bibdateeraendprefix}{\bibdateeraprefix}}
+ {}%
+ \ifcsdef{mkdaterange##1}
+ {\protected\csedef{blx@imc@print#1date}{\noexpand\csuse{mkdaterange##1}{#1}}%
+ \protected\csedef{blx@imc@print#1dateextra}{\noexpand\csuse{mkdaterange##1extra}{#1}}}
+ {\ifcsdef{mkbibrange##1}%LEGACY(<3.5)
+ {\blx@warning@noline{%
+ '\string\mkbibrange##1(extra)' date range macro in style is deprecated,\MessageBreak
+ please define '\string\mkdaterange##1(extra)' instead}%
+ \protected\csedef{blx@imc@print#1date}{\noexpand\csuse{mkbibrange##1}{#1}}%
+ \protected\csedef{blx@imc@print#1dateextra}{\noexpand\csuse{mkbibrange##1extra}{#1}}}
+ {\blx@err@invopt{#1date=##1}{}}}}%
+ % Default for new date fields is "comp" but this is overridden below by
+ % biblatex defaults
+ \setkeys{blx@opt@pre}{#1date=comp}%
+ % Time format options
+ \DeclareBibliographyOption[string]{#1time}{%
+ \csdef{blx@timeformat@#1time}{##1}%
+ \ifcsdef{mktimerange##1}
+ {\protected\csedef{blx@imc@print#1time}{\csuse{mktimerange##1}{#1}}}
+ {\blx@err@invopt{#1time=##1}{}}}%
+ % Default for new time fields is "24h"
+ \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}}}}
+\abx@dodatetypes
+
+\DeclareBibliographyOption[string]{alldatesusetime}{%
+ \def\do##1{\ExecuteBibliographyOptions{##1usetime=#1}}%
+ \abx@dodates
+ \do{labeldate}}
\DeclareBibliographyOption[string]{alldates}{%
- \ExecuteBibliographyOptions{datelabel=#1}%
\def\do##1{\ExecuteBibliographyOptions{##1=#1}}%
- \abx@dodates}
+ \abx@dodates
+ \do{labeldate}}
+
+\DeclareBibliographyOption[string]{alltimes}{%
+ \def\do##1{%
+ \ExecuteBibliographyOptions{##1time=#1}}%
+ \abx@dodatetypes
+ \do{label}}
+\newtoggle{blx@julian}
+\def\blx@gregorianstart{1582-10-15}
+\DeclareBibliographyOption[boolean]{julian}[true]{%
+ \ifstrequal{#1}{true}
+ {\toggletrue{blx@julian}}
+ {\togglefalse{blx@julian}}}
+
+\DeclareBibliographyOption[string]{gregorianstart}{%
+ \def\blx@gregorianstart{#1}}
+
+\newtoggle{blx@datezeros}\toggletrue{blx@datezeros}
\DeclareBibliographyOption[boolean]{datezeros}[true]{%
\ifstrequal{#1}{true}
- {\let\blx@imc@mkdatezeros\@firstofone}
- {\let\blx@imc@mkdatezeros\blx@imc@stripzeros}}
+ {\toggletrue{blx@datezeros}%
+ \let\blx@imc@mkyearzeros\blx@imc@forcezerosy
+ \let\blx@imc@mkmonthzeros\blx@imc@forcezerosmdt
+ \let\blx@imc@mkdayzeros\blx@imc@forcezerosmdt}
+ {\togglefalse{blx@datezeros}%
+ \let\blx@imc@mkyearzeros\blx@imc@stripzeros
+ \let\blx@imc@mkmonthzeros\blx@imc@stripzeros
+ \let\blx@imc@mkdayzeros\blx@imc@stripzeros}}
+
+\newtoggle{blx@timezeros}\toggletrue{blx@timezeros}
+\DeclareBibliographyOption[boolean]{timezeros}[true]{%
+ \ifstrequal{#1}{true}
+ {\toggletrue{blx@timezeros}%
+ \let\blx@imc@mktimezeros\blx@imc@forcezerosmdt}
+ {\togglefalse{blx@timezeros}%
+ \let\blx@imc@mktimezeros\blx@imc@stripzeros}}
+
+\newtoggle{blx@timezones}
+\DeclareBibliographyOption[boolean]{timezones}[true]{%
+ \ifstrequal{#1}{true}
+ {\toggletrue{blx@timezones}}
+ {\togglefalse{blx@timezones}}}
+
+\newtoggle{blx@seconds}
+\DeclareBibliographyOption[boolean]{seconds}[true]{%
+ \ifstrequal{#1}{true}
+ {\toggletrue{blx@seconds}}
+ {\togglefalse{blx@seconds}}}
\DeclareBibliographyOption[string]{autocite}{%
\ifcsundef{blx@acite@#1}
@@ -11680,19 +12721,19 @@
\DeclareTypeOption[boolean]{labeltitleyear}[true]{%
\settoggle{blx@labeltitleyear}{#1}}
-\DeclareBibliographyOption[boolean]{labeldate}[true]{%
- \settoggle{blx@labeldate}{#1}}
-\DeclareTypeOption[boolean]{labeldate}[true]{%
- \settoggle{blx@labeldate}{#1}}
+\DeclareBibliographyOption[boolean]{labeldateparts}[true]{%
+ \settoggle{blx@labeldateparts}{#1}}
+\DeclareTypeOption[boolean]{labeldateparts}[true]{%
+ \settoggle{blx@labeldateparts}{#1}}
\DeclareBibliographyOption[boolean]{labelyear}[true]{%
\blx@warning@noline{%
- 'labelyear' option is deprecated, use 'labeldate' instead}%
- \settoggle{blx@labeldate}{#1}}
+ 'labelyear' option is deprecated, use 'labeldateparts' instead}%
+ \settoggle{blx@labeldateparts}{#1}}
\DeclareTypeOption[boolean]{labelyear}[true]{%
\blx@warning@noline{%
- 'labelyear' option is deprecated, use 'labeldate' instead}%
- \settoggle{blx@labeldate}{#1}}
+ 'labelyear' option is deprecated, use 'labeldateparts' instead}%
+ \settoggle{blx@labeldateparts}{#1}}
\DeclareBibliographyOption[boolean]{uniquelist}[true]{%
\ifcsdef{blx@opt@uniquelist@#1}
@@ -11741,6 +12782,16 @@
\DeclareTypeOption[boolean]{uniquetitle}[true]{%
\settoggle{blx@uniquetitle}{#1}}
+\DeclareBibliographyOption[boolean]{uniquebaretitle}[true]{%
+ \settoggle{blx@uniquebaretitle}{#1}}
+\DeclareTypeOption[boolean]{uniquebaretitle}[true]{%
+ \settoggle{blx@uniquebaretitle}{#1}}
+
+\DeclareBibliographyOption[boolean]{uniquework}[true]{%
+ \settoggle{blx@uniquework}{#1}}
+\DeclareTypeOption[boolean]{uniquework}[true]{%
+ \settoggle{blx@uniquework}{#1}}
+
\DeclareBibliographyOption[boolean]{uniqueprimaryauthor}[true]{%
\settoggle{blx@uniqueprimaryauthor}{#1}}
@@ -11909,42 +12960,37 @@
%% Initial setup
% Set defaults
-
\setkeys{blx@opt@ldt}{style=numeric}
\setkeys{blx@opt@pre}{%
sorting=nty,sortlocale=auto,sortcase,sortupper,sortcites=false,
maxnames=3,minnames=1,maxalphanames=3,minalphanames=1,
maxitems=3,minitems=1,mincrossrefs=2,minxrefs=2,useauthor=true,useeditor=true,
- usetranslator=false,indexing=false,abbreviate=true,dateabbrev=true,
+ usetranslator=false,indexing=false,abbreviate=true,dateabbrev=true,dateera=astronomical,
backref=false,backrefsetstyle=setonly,pagetracker=false,ibidtracker=false,
idemtracker=false,opcittracker=false,loccittracker=false,citetracker=false,
citecounter=false,block=none,language=autobib,clearlang=true,autolang=none,
- date=comp,datelabel=year,origdate=comp,eventdate=comp,urldate=short,
- autopunct=true,punctfont=false,defernumbers=false,
+ date=comp,labeldate=year,origdate=comp,eventdate=comp,urldate=short,
+ autopunct=true,punctfont=false,defernumbers=false,timezeros=true,
refsection=none,refsegment=none,citereset=none,hyperref=auto,
- parentracker,maxparens=3,bibencoding=auto,bibwarn}
+ parentracker,maxparens=3,bibencoding=auto,bibwarn,timezones=false,
+ seconds=false,julian=false,labeltime=24h}
% Load compatibility code
-
\blx@inputonce{blx-compat.def}{compatibility code}{}{}{}{}
% Restore catcodes
-
\blx@catcodes
\undef\blx@catcodes
% Process load-time options
-
\ProcessOptions*
% Switch to BibTeX support if requests
-
\iftoggle{blx@bibtex}
{\blx@inputonce{blx-bibtex.def}{BibTeX backend compatibility}{}{}{}{}}
{}
% Load citation and bibliography styles, configuration file
-
\blx@inputonce{biblatex.def}{generic definitions}{}{}{}{}
\iftoggle{blx@natbib}
{\blx@inputonce{blx-natbib.def}{natbib compatibility}{}{}{}{}}
@@ -11959,45 +13005,84 @@
\blx@inputonce{biblatex.cfg}{configuration file}{}{}{}{}
% Process preamble options
-
\blx@processoptions
% Deferred setup at end of preamble
-
\AtEndPreamble{%
\blx@checkoptions@global
\c@maxnames\blx@maxcitenames\relax
\c@minnames\blx@mincitenames\relax
\c@maxitems\blx@maxitems\relax
\c@minitems\blx@minitems\relax
- \iftoggle{blx@giveninits}
+ \iftoggle{abx@bool@xinits}
{\ifnumequal\blx@uniquename\blx@opt@uniquename@full
{\blx@warn@conflopt{%
- 'giveninits' conflicts with 'uniquename=full'.\MessageBreak
+ '<namepart>inits' conflicts with 'uniquename=full'.\MessageBreak
Setting 'uniquename=init'}%
\setkeys{blx@opt@pre}{uniquename=init}}
{}%
\ifnumequal\blx@uniquename\blx@opt@uniquename@allfull
{\blx@warn@conflopt{%
- 'giveninits' conflicts with 'uniquename=allfull'.\MessageBreak
+ '<namepart>inits' conflicts with 'uniquename=allfull'.\MessageBreak
Setting 'uniquename=allinit}%
\setkeys{blx@opt@pre}{uniquename=allinit}}
{}%
\ifnumequal\blx@uniquename\blx@opt@uniquename@minfull
{\blx@warn@conflopt{%
- 'giveninits' conflicts with 'uniquename=minfull'.\MessageBreak
+ '<namepart>inits' conflicts with 'uniquename=minfull'.\MessageBreak
Setting 'uniquename=mininit}%
\setkeys{blx@opt@pre}{uniquename=mininit}}
{}}
{}%
- \nottoggle{blx@labeldate}
+ \nottoggle{blx@labeldateparts}
{\ifnumequal\blx@uniquelist\blx@opt@uniquelist@minyear
{\blx@warn@conflopt{%
- 'uniquelist=minyear' requires 'labeldate'.\MessageBreak
+ 'uniquelist=minyear' requires 'labeldateparts'.\MessageBreak
Setting 'uniquelist=true'}%
\setkeys{blx@opt@pre}{uniquelist}}
{}}
- {}}
+ {}%
+ \def\do#1{%
+ \ifcsstring{blx@dateformat@#1}{edtf}
+ {\StrCut{#1}{date}\blx@datetype\blx@tempnull
+ \ifdefstring\blx@dateera{astronomical}{}
+ {\blx@warn@conflopt{%
+ '#1=edtf' requires 'dateera=astronomical'.\MessageBreak
+ Setting 'dateera=astrononmical'}%
+ \setkeys{blx@opt@pre}{dateera=astronomical}}%
+ \ifcsstring{blx@timeformat@\blx@datetype time}{24h}%
+ {}
+ {\blx@warn@conflopt{%
+ '#1=edtf' requires '\blx@datetype time=24h'.\MessageBreak
+ Setting '\blx@datetype time=24h'}%
+ \setkeys{blx@opt@pre}{\blx@datetype time=24h}}%
+ \iftoggle{blx@julian}
+ {\blx@warn@conflopt{%
+ '#1=edtf' requires 'julian=false'.\MessageBreak
+ Setting 'julian=false'}%
+ \setkeys{blx@opt@pre}{julian=false}}
+ {}%
+ \nottoggle{blx@datezeros}
+ {\blx@warn@conflopt{%
+ '#1=edtf' requires 'datezeros=true'.\MessageBreak
+ Setting 'datezeros=true'}%
+ \setkeys{blx@opt@pre}{datezeros=true}}
+ {}%
+ \nottoggle{blx@timezeros}
+ {\blx@warn@conflopt{%
+ '#1=edtf' requires 'timezeros=true'.\MessageBreak
+ Setting 'timezeros=true'}%
+ \setkeys{blx@opt@pre}{timezeros=true}}
+ {}%
+ \nottoggle{blx@seconds}
+ {\blx@warn@conflopt{%
+ '#1=edtf' requires 'seconds=true'.\MessageBreak
+ Setting 'seconds=true'}%
+ \setkeys{blx@opt@pre}{seconds=true}}
+ {}}
+ {}}%
+ \abx@dodates
+ \do{labeldate}}
\def\blx@checkencoding{%
\ifdef\blx@texencoding
diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-bibtex.def b/Master/texmf-dist/tex/latex/biblatex/blx-bibtex.def
index fdc1363b419..a96aa733775 100644
--- a/Master/texmf-dist/tex/latex/biblatex/blx-bibtex.def
+++ b/Master/texmf-dist/tex/latex/biblatex/blx-bibtex.def
@@ -199,17 +199,24 @@
\protected\def\blx@bibreq#1{%
\blx@auxwrite\blx@aux{}{\string\citation{#1}}}
+% bibtex doesn't parse EDTF dates so these overrides do nothing
+\appto\blx@blxinit{%
+ \def\iflabeldateera#1{\@secondoftwo}%
+ \def\iflabelenddateera#1{\@secondoftwo}%
+ \let\iflabeldatecirca\@secondoftwo
+ \let\iflabelenddatecirca\@secondoftwo
+ \let\iflabeldateuncertain\@secondoftwo
+ \let\iflabelenddateuncertain\@secondoftwo}
+
% {<string>}
-% This mustn't be robust as it's likely to be used mainly tests and so
+% This mustn't be robust as it's likely to be used mainly in tests and so
% needs to be expandable
\renewcommand*\rangelen[1]{%
\ifblank{#1}
{0}%
- {%
- \expandafter\blx@rangelen@range\romannumeral-`\q%
+ {\expandafter\blx@rangelen@range\romannumeral-`\q%
#1\bibrangedash\bibrangedash&%
- }%
- }
+ }}
\def\blx@rangelen@range#1\bibrangedash#2\bibrangedash#3&{%
\ifblank{#3}
@@ -384,7 +391,7 @@
\noexpand\iftoggle{blx@useeditor}{1}{0}:%
\noexpand\iftoggle{blx@usetranslator}{1}{0}:%
\noexpand\iftoggle{blx@labelalpha}{1}{0}:%
- \noexpand\iftoggle{blx@labeldate}{1}{0}:%
+ \noexpand\iftoggle{blx@labeldateparts}{1}{0}:%
\noexpand\iftoggle{blx@singletitle}{1}{0}:%
\noexpand\csuse{blx@sorting@\noexpand\blx@sorting}:%
\noexpand\blx@maxcitenames:%
diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-dm.def b/Master/texmf-dist/tex/latex/biblatex/blx-dm.def
index 4312836dd97..829a5a811bd 100644
--- a/Master/texmf-dist/tex/latex/biblatex/blx-dm.def
+++ b/Master/texmf-dist/tex/latex/biblatex/blx-dm.def
@@ -104,6 +104,11 @@
{\appto\blx@tempa{ skip\string_output="true"}}
{}}
+% Valid dateparts
+\def\blx@notnulldateparts{year,month,day,hour,minute,second,timezone,season,endmonth,endday,endhour,endminute,endsecond,endtimezone,endseason}
+\def\blx@nullokdateparts{endyear}
+\edef\blx@dateparts{\blx@notnulldateparts,\blx@nullokdateparts}
+
\newrobustcmd*{\DeclareDatamodelFields}[2][]{%
\begingroup
\let\blx@dm@fieldtype\@empty
@@ -204,8 +209,7 @@
\xappto\blx@bcf@datamodel@fields{%
\blx@xml@datamodel@field{\blx@tempa}{##1}}%
-
- % Dateparts are special - auto-create for all date fields
+ % Dateparts are special - auto-create for all date fields
\ifcsstring{blx@dm@datatype}{date}
{\begingroup
\let\blx@tempa\@empty% reset setkeys buffer due to manual calls below
@@ -219,14 +223,19 @@
{}
{\listcsgadd{blx@datamodel@fields}{##1}}%
\StrCut{##1}{date}\blx@datetype\blx@tempnull
- % *endyear
- \xifinlistcs{\blx@datetype endyear}{blx@datamodel@fields}
- {}
- {\listcsxadd{blx@datamodel@fields}{\blx@datetype endyear}}%
- \setkeys{blx@datamodel@field}{type=field,datatype=datepart,nullok}%
- \xappto\blx@bcf@datamodel@fields{%
- \blx@xml@datamodel@field{\blx@tempa}{\blx@datetype endyear}}%
- % *year, *month, *day, *endmonth, *endday
+ % dateparts which are ok to be null (by default *endyear)
+ \def\do####1{%
+ \let\blx@tempa\@empty% reset setkeys buffer due to loop calls
+ \xifinlistcs{\blx@datetype ####1}{blx@datamodel@fields}
+ {}
+ {\listcsxadd{blx@datamodel@fields}{\blx@datetype ####1}}%
+ \setkeys{blx@datamodel@field}{type=field,datatype=datepart,nullok}%
+ \xappto\blx@bcf@datamodel@fields{%
+ \blx@xml@datamodel@field{\blx@tempa}{\blx@datetype ####1}}}%
+ \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
\def\do####1{%
\let\blx@tempa\@empty% reset setkeys buffer due to loop calls
\xifinlistcs{\blx@datetype ####1}{blx@datamodel@fields}
@@ -235,7 +244,7 @@
\setkeys{blx@datamodel@field}{type=field,datatype=datepart}%
\xappto\blx@bcf@datamodel@fields{%
\blx@xml@datamodel@field{\blx@tempa}{\blx@datetype ####1}}}%
- \docsvlist{year,month,day,endmonth,endday}%
+ \expandafter\docsvlist\expandafter{\blx@notnulldateparts}%
\endgroup}
{}}%
\docsvlist{#2}
@@ -377,7 +386,7 @@
% Data model specification
\DeclareDatamodelConstant[type=list]{gender}{sf,sm,sn,pf,pm,pn,pp}
-\DeclareDatamodelConstant[type=list]{nameparts}{prefix,family,suffix,given}
+\DeclareDatamodelConstant[type=list]{nameparts}{family,given,prefix,suffix}
\DeclareDatamodelConstant[type=list]{optiondatatypes}{boolean,integer,string,xml}
\DeclareDatamodelEntrytypes{
@@ -432,6 +441,11 @@
\DeclareDatamodelEntrytypes[skipout]{xdata}
+\DeclareDatamodelFields[type=field, datatype=integer]{
+ number,
+ volume,
+ volumes}
+
\DeclareDatamodelFields[type=field, datatype=literal]{
abstract,
addendum,
@@ -471,7 +485,6 @@
maintitleaddon,
nameaddon,
note,
- number,
origtitle,
pagetotal,
part,
@@ -490,9 +503,7 @@
usere,
userf,
venue,
- version,
- volume,
- volumes}
+ version}
\DeclareDatamodelFields[type=field, datatype=literal, label=true]{
shorthand,
@@ -500,10 +511,11 @@
shortseries,
shorttitle}
+\DeclareDatamodelFields[type=field, datatype=integer, skipout]{sortyear}
+
\DeclareDatamodelFields[type=field, datatype=literal, skipout]{
sorttitle,
sortshorthand,
- sortyear,
sortkey,
presort}
@@ -1178,6 +1190,14 @@
pubstate,
subtitle,
titleaddon,
+ urlhour,
+ urlminute,
+ urlsecond,
+ urltimezone,
+ urlendhour,
+ urlendminute,
+ urlendsecond,
+ urlendtimezone,
urlday,
urlendday,
urlendmonth,
diff --git a/Master/texmf-dist/tex/latex/biblatex/cbx/alphabetic.cbx b/Master/texmf-dist/tex/latex/biblatex/cbx/alphabetic.cbx
index 1e114d1bb81..434986c6627 100644
--- a/Master/texmf-dist/tex/latex/biblatex/cbx/alphabetic.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex/cbx/alphabetic.cbx
@@ -116,6 +116,10 @@
{\protected@xappto\cbx@savedcites{%
[\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}}
+% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use
+% the normal textcite context
+\DeclareDelimcontextAlias{cbx@textcite}{textcite}
+
\newrobustcmd{\cbx@textcite@init}[2]{%
\setcounter{textcitetotal}{0}%
\setcounter{textcitecount}{0}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/cbx/authortitle-comp.cbx b/Master/texmf-dist/tex/latex/biblatex/cbx/authortitle-comp.cbx
index bbc4229864f..1bf883a4196 100644
--- a/Master/texmf-dist/tex/latex/biblatex/cbx/authortitle-comp.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex/cbx/authortitle-comp.cbx
@@ -171,6 +171,10 @@
{\protected@xappto\cbx@savedcites{%
[\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}}
+% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use
+% the normal textcite context
+\DeclareDelimcontextAlias{cbx@textcite}{textcite}
+
\newrobustcmd{\cbx@textcite@init}[2]{%
\setcounter{textcitetotal}{0}%
\setcounter{textcitecount}{0}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/cbx/authortitle-icomp.cbx b/Master/texmf-dist/tex/latex/biblatex/cbx/authortitle-icomp.cbx
index f8f2f7e5371..2c6190900cd 100644
--- a/Master/texmf-dist/tex/latex/biblatex/cbx/authortitle-icomp.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex/cbx/authortitle-icomp.cbx
@@ -200,6 +200,10 @@
{\protected@xappto\cbx@savedcites{%
[\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}}
+% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use
+% the normal textcite context
+\DeclareDelimcontextAlias{cbx@textcite}{textcite}
+
\newrobustcmd{\cbx@textcite@init}[2]{%
\setcounter{textcitetotal}{0}%
\setcounter{textcitecount}{0}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/cbx/authoryear-comp.cbx b/Master/texmf-dist/tex/latex/biblatex/cbx/authoryear-comp.cbx
index a7774c5faa0..31ea488f673 100644
--- a/Master/texmf-dist/tex/latex/biblatex/cbx/authoryear-comp.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex/cbx/authoryear-comp.cbx
@@ -1,7 +1,7 @@
\ProvidesFile{authoryear-comp.cbx}
[\abx@cbxid]
-\ExecuteBibliographyOptions{labeldate,uniquename,uniquelist,sortcites,
+\ExecuteBibliographyOptions{labeldateparts,uniquename,uniquelist,sortcites,
autocite=inline}
\renewcommand*{\iffinalcitedelim}{%
@@ -121,12 +121,38 @@
{\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}}
{\printtext[bibhyperref]{\printfield{label}}}}
+% Inside \printtext, argumentless macros also need '%' afterwards
+% otherwise the newlines are spaces
\newbibmacro*{cite:labelyear+extrayear}{%
\iffieldundef{labelyear}
{}
{\printtext[bibhyperref]{%
- \printfield{labelyear}%
- \printfield{extrayear}}}}
+ \ifdefstring\blx@dateformat@labeldate{edtf}
+ {}
+ {\datecircaprint}%
+ \dateeraprintpre{labelyear}%
+ \mkyearzeros{\thefield{labelyear}}%
+ \printfield{extrayear}%
+ \iffieldsequal{labeldateera}{labelenddateera}{}
+ {\dateeraprint{labelyear}}%
+ \dateuncertainprint%
+ \ifdefstring\blx@dateformat@labeldate{edtf}
+ {\datecircaprintedtf}
+ {}%
+ \iffieldundef{labelendyear}
+ {}
+ {\iffieldsequal{labelyear}{labelendyear}{}
+ {\ifdefstring\blx@dateformat@labeldate{edtf}
+ {\slash}% strict EDTF
+ {\bibdaterangesep
+ \enddatecircaprint}%
+ \dateeraprintpre{labelendyear}%
+ \mkyearzeros{\thefield{labelendyear}}%
+ \enddateuncertainprint
+ \ifdefstring\blx@dateformat@labeldate{edtf}
+ {\enddatecircaprintedtf}
+ {}%
+ \dateeraprint{labelendyear}}}}}}
\newbibmacro*{cite:extrayear}{%
\iffieldundef{extrayear}
@@ -229,6 +255,10 @@
{\protected@xappto\cbx@savedcites{%
[\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}}
+% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use
+% the normal textcite context
+\DeclareDelimcontextAlias{cbx@textcite}{textcite}
+
\newrobustcmd{\cbx@textcite@init}[2]{%
\setcounter{textcitetotal}{0}%
\setcounter{textcitecount}{0}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/cbx/authoryear-ibid.cbx b/Master/texmf-dist/tex/latex/biblatex/cbx/authoryear-ibid.cbx
index 96ffba35fba..f7e24c5f909 100644
--- a/Master/texmf-dist/tex/latex/biblatex/cbx/authoryear-ibid.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex/cbx/authoryear-ibid.cbx
@@ -1,7 +1,7 @@
\ProvidesFile{authoryear-ibid.cbx}
[\abx@cbxid]
-\ExecuteBibliographyOptions{labeldate,uniquename,uniquelist,pagetracker,
+\ExecuteBibliographyOptions{labeldateparts,uniquename,uniquelist,pagetracker,
ibidtracker=constrict,autocite=inline}
\providecommand*{\mkibid}[1]{#1}
@@ -80,12 +80,38 @@
{\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}}
{\printtext[bibhyperref]{\printfield{label}}}}
+% Inside \printtext, argumentless macros also need '%' afterwards
+% otherwise the newlines are spaces
\newbibmacro*{cite:labelyear+extrayear}{%
\iffieldundef{labelyear}
{}
{\printtext[bibhyperref]{%
- \printfield{labelyear}%
- \printfield{extrayear}}}}
+ \ifdefstring\blx@dateformat@labeldate{edtf}
+ {}
+ {\datecircaprint}%
+ \dateeraprintpre{labelyear}%
+ \mkyearzeros{\thefield{labelyear}}%
+ \printfield{extrayear}%
+ \iffieldsequal{labeldateera}{labelenddateera}{}
+ {\dateeraprint{labelyear}}%
+ \dateuncertainprint%
+ \ifdefstring\blx@dateformat@labeldate{edtf}
+ {\datecircaprintedtf}
+ {}%
+ \iffieldundef{labelendyear}
+ {}
+ {\iffieldsequal{labelyear}{labelendyear}{}
+ {\ifdefstring\blx@dateformat@labeldate{edtf}
+ {\slash}% strict EDTF
+ {\bibdaterangesep
+ \enddatecircaprint}%
+ \dateeraprintpre{labelendyear}%
+ \mkyearzeros{\thefield{labelendyear}}%
+ \enddateuncertainprint
+ \ifdefstring\blx@dateformat@labeldate{edtf}
+ {\enddatecircaprintedtf}
+ {}%
+ \dateeraprint{labelendyear}}}}}}
\newbibmacro*{cite:postnote}{%
\ifbool{cbx:loccit}
diff --git a/Master/texmf-dist/tex/latex/biblatex/cbx/authoryear-icomp.cbx b/Master/texmf-dist/tex/latex/biblatex/cbx/authoryear-icomp.cbx
index 6481a00ae92..1fb8d93a84f 100644
--- a/Master/texmf-dist/tex/latex/biblatex/cbx/authoryear-icomp.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex/cbx/authoryear-icomp.cbx
@@ -1,7 +1,7 @@
\ProvidesFile{authoryear-icomp.cbx}
[\abx@cbxid]
-\ExecuteBibliographyOptions{labeldate,uniquename,uniquelist,ibidtracker=constrict,
+\ExecuteBibliographyOptions{labeldateparts,uniquename,uniquelist,ibidtracker=constrict,
pagetracker,sortcites,autocite=inline}
\providecommand*{\mkibid}[1]{#1}
@@ -137,12 +137,38 @@
{\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}}
{\printtext[bibhyperref]{\printfield{label}}}}
+% Inside \printtext, argumentless macros also need '%' afterwards
+% otherwise the newlines are spaces
\newbibmacro*{cite:labelyear+extrayear}{%
\iffieldundef{labelyear}
{}
{\printtext[bibhyperref]{%
- \printfield{labelyear}%
- \printfield{extrayear}}}}
+ \ifdefstring\blx@dateformat@labeldate{edtf}
+ {}
+ {\datecircaprint}%
+ \dateeraprintpre{labelyear}%
+ \mkyearzeros{\thefield{labelyear}}%
+ \printfield{extrayear}%
+ \iffieldsequal{labeldateera}{labelenddateera}{}
+ {\dateeraprint{labelyear}}%
+ \dateuncertainprint%
+ \ifdefstring\blx@dateformat@labeldate{edtf}
+ {\datecircaprintedtf}
+ {}%
+ \iffieldundef{labelendyear}
+ {}
+ {\iffieldsequal{labelyear}{labelendyear}{}
+ {\ifdefstring\blx@dateformat@labeldate{edtf}
+ {\slash}% strict EDTF
+ {\bibdaterangesep
+ \enddatecircaprint}%
+ \dateeraprintpre{labelendyear}%
+ \mkyearzeros{\thefield{labelendyear}}%
+ \enddateuncertainprint
+ \ifdefstring\blx@dateformat@labeldate{edtf}
+ {\enddatecircaprintedtf}
+ {}%
+ \dateeraprint{labelendyear}}}}}}
\newbibmacro*{cite:extrayear}{%
\iffieldundef{extrayear}
@@ -258,6 +284,10 @@
{\protected@xappto\cbx@savedcites{%
[\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}}
+% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use
+% the normal textcite context
+\DeclareDelimcontextAlias{cbx@textcite}{textcite}
+
\newrobustcmd{\cbx@textcite@init}[2]{%
\setcounter{textcitetotal}{0}%
\setcounter{textcitecount}{0}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/cbx/authoryear.cbx b/Master/texmf-dist/tex/latex/biblatex/cbx/authoryear.cbx
index 949a35be915..ed9c7a0591b 100644
--- a/Master/texmf-dist/tex/latex/biblatex/cbx/authoryear.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex/cbx/authoryear.cbx
@@ -1,7 +1,7 @@
\ProvidesFile{authoryear.cbx}
[\abx@cbxid]
-\ExecuteBibliographyOptions{labeldate,uniquename,uniquelist,autocite=inline}
+\ExecuteBibliographyOptions{labeldateparts,uniquename,uniquelist,autocite=inline}
\renewcommand*{\iffinalcitedelim}{\iflastcitekey}
@@ -53,12 +53,38 @@
{\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}}
{\printtext[bibhyperref]{\printfield{label}}}}
+% Inside \printtext, argumentless macros also need '%' afterwards
+% otherwise the newlines are spaces
\newbibmacro*{cite:labelyear+extrayear}{%
\iffieldundef{labelyear}
{}
{\printtext[bibhyperref]{%
- \printfield{labelyear}%
- \printfield{extrayear}}}}
+ \ifdefstring\blx@dateformat@labeldate{edtf}
+ {}
+ {\datecircaprint}%
+ \dateeraprintpre{labelyear}%
+ \mkyearzeros{\thefield{labelyear}}%
+ \printfield{extrayear}%
+ \iffieldsequal{labeldateera}{labelenddateera}{}
+ {\dateeraprint{labelyear}}%
+ \dateuncertainprint%
+ \ifdefstring\blx@dateformat@labeldate{edtf}
+ {\datecircaprintedtf}
+ {}%
+ \iffieldundef{labelendyear}
+ {}
+ {\iffieldsequal{labelyear}{labelendyear}{}
+ {\ifdefstring\blx@dateformat@labeldate{edtf}
+ {\slash}% strict EDTF
+ {\bibdaterangesep
+ \enddatecircaprint}%
+ \dateeraprintpre{labelendyear}%
+ \mkyearzeros{\thefield{labelendyear}}%
+ \enddateuncertainprint
+ \ifdefstring\blx@dateformat@labeldate{edtf}
+ {\enddatecircaprintedtf}
+ {}%
+ \dateeraprint{labelendyear}}}}}}
\newbibmacro*{textcite:postnote}{%
\iffieldundef{postnote}
@@ -71,21 +97,21 @@
\printfield{postnote}\bibcloseparen}}
\DeclareCiteCommand{\cite}
- {\usebibmacro{prenote}}
+ {\usebibmacro{prenote}}%
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand*{\cite}
- {\usebibmacro{prenote}}
+ {\usebibmacro{prenote}}%
{\usebibmacro{citeindex}%
\usebibmacro{citeyear}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\parencite}[\mkbibparens]
- {\usebibmacro{prenote}}
+ {\usebibmacro{prenote}}%
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
diff --git a/Master/texmf-dist/tex/latex/biblatex/cbx/numeric-comp.cbx b/Master/texmf-dist/tex/latex/biblatex/cbx/numeric-comp.cbx
index 0f8942fa118..7f2b64d569c 100644
--- a/Master/texmf-dist/tex/latex/biblatex/cbx/numeric-comp.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex/cbx/numeric-comp.cbx
@@ -210,6 +210,10 @@
{\protected@xappto\cbx@savedcites{%
[\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}}
+% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use
+% the normal textcite context
+\DeclareDelimcontextAlias{cbx@textcite}{textcite}
+
\newrobustcmd{\cbx@textcite@init}[2]{%
\setcounter{textcitetotal}{0}%
\setcounter{textcitecount}{0}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/cbx/numeric.cbx b/Master/texmf-dist/tex/latex/biblatex/cbx/numeric.cbx
index 5c6fa4b1009..81b3bcb80e5 100644
--- a/Master/texmf-dist/tex/latex/biblatex/cbx/numeric.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex/cbx/numeric.cbx
@@ -134,6 +134,10 @@
{\protected@xappto\cbx@savedcites{%
[\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}}
+% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use
+% the normal textcite context
+\DeclareDelimcontextAlias{cbx@textcite}{textcite}
+
\newrobustcmd{\cbx@textcite@init}[2]{%
\setcounter{textcitetotal}{0}%
\setcounter{textcitecount}{0}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-ibid.cbx b/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-ibid.cbx
index d4a45642373..ae5dccc7ca7 100644
--- a/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-ibid.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-ibid.cbx
@@ -237,6 +237,10 @@
{}
{}
+% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use
+% the normal textcite context
+\DeclareDelimcontextAlias{cbx@textcite}{textcite}
+
\newrobustcmd{\cbx@textcite@init}[3]{%
\setcounter{textcitetotal}{0}%
\setcounter{textcitecount}{0}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-inote.cbx b/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-inote.cbx
index d4fc145459d..6fc88f6b6d6 100644
--- a/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-inote.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-inote.cbx
@@ -296,6 +296,10 @@
{}
{}
+% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use
+% the normal textcite context
+\DeclareDelimcontextAlias{cbx@textcite}{textcite}
+
\newrobustcmd{\cbx@textcite@init}[3]{%
\setcounter{textcitetotal}{0}%
\setcounter{textcitecount}{0}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-note.cbx b/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-note.cbx
index de06094186f..42156224c97 100644
--- a/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-note.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-note.cbx
@@ -267,6 +267,10 @@
{}
{}
+% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use
+% the normal textcite context
+\DeclareDelimcontextAlias{cbx@textcite}{textcite}
+
\newrobustcmd{\cbx@textcite@init}[3]{%
\setcounter{textcitetotal}{0}%
\setcounter{textcitecount}{0}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-trad1.cbx b/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-trad1.cbx
index fe450f85e38..33841be3ed6 100644
--- a/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-trad1.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-trad1.cbx
@@ -269,6 +269,10 @@
{}
{}
+% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use
+% the normal textcite context
+\DeclareDelimcontextAlias{cbx@textcite}{textcite}
+
\newrobustcmd{\cbx@textcite@init}[3]{%
\setcounter{textcitetotal}{0}%
\setcounter{textcitecount}{0}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-trad2.cbx b/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-trad2.cbx
index acf463877aa..0461eb14d20 100644
--- a/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-trad2.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-trad2.cbx
@@ -263,6 +263,10 @@
{}
{}
+% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use
+% the normal textcite context
+\DeclareDelimcontextAlias{cbx@textcite}{textcite}
+
\newrobustcmd{\cbx@textcite@init}[3]{%
\setcounter{textcitetotal}{0}%
\setcounter{textcitecount}{0}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-trad3.cbx b/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-trad3.cbx
index 54e2b3aecfa..80a45d6a004 100644
--- a/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-trad3.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex/cbx/verbose-trad3.cbx
@@ -236,6 +236,10 @@
{}
{}
+% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use
+% the normal textcite context
+\DeclareDelimcontextAlias{cbx@textcite}{textcite}
+
\newrobustcmd{\cbx@textcite@init}[3]{%
\setcounter{textcitetotal}{0}%
\setcounter{textcitecount}{0}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/cbx/verbose.cbx b/Master/texmf-dist/tex/latex/biblatex/cbx/verbose.cbx
index e798dec1839..c36465fe08f 100644
--- a/Master/texmf-dist/tex/latex/biblatex/cbx/verbose.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex/cbx/verbose.cbx
@@ -206,6 +206,10 @@
{}
{}
+% textcite has nested \DeclareCiteCommand definitions for textcite and we want to use
+% the normal textcite context
+\DeclareDelimcontextAlias{cbx@textcite}{textcite}
+
\newrobustcmd{\cbx@textcite@init}[3]{%
\setcounter{textcitetotal}{0}%
\setcounter{textcitecount}{0}%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/australian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/australian.lbx
index 551afa2c5df..675089ddd8b 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/australian.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/australian.lbx
@@ -13,6 +13,14 @@
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\space}}%
\iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\stripzeros{\thefield{#1}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \mkyearzeros{\thefield{#1}}}%
}
\InheritBibliographyStrings{english}
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx
index 317aa18ab3e..80e2fd4ede3 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx
@@ -6,7 +6,6 @@
\DeclareBibliographyExtras{%
\protected\def\bibrangedash{%
\textendash\penalty\hyphenpenalty}% breakable dash
- \protected\def\bibdatedash{\bibrangedash}%
\let\finalandcomma=\empty
\let\finalandsemicolon=\empty
\def\mkbibordinal{\mkbibmascord}%
@@ -24,21 +23,57 @@
{}
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\nobreakspace de\space}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\stripzeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
- {\mkdatezeros{\thefield{#3}}%
+ {\mkdayzeros{\thefield{#3}}%
\iffieldundef{#2}{}{/}}%
\iffieldundef{#2}
{}
- {\mkdatezeros{\thefield{#2}}%
+ {\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#1}{}{/}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\mkdatezeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
\savecommand\mkbibordedition
\savecommand\mkbibordseries
\def\mkbibordedition{\mkbibfemord}%
\def\mkbibordseries{\mkbibfemord}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
\UndeclareBibliographyExtras{%
@@ -400,6 +435,7 @@
langdutch = {{holand{\^e}s}{holand{\^e}s}},
langenglish = {{ingl\^es}{ingl\^es}},
langfinnish = {{finland\^es}{finland\^es}},
+% langestonian = {{}{}},% FIXME: missing
langfrench = {{franc\^es}{franc\^es}},
langgerman = {{alem\~ao}{alem\~ao}},
langgreek = {{grego}{grego}},
@@ -420,6 +456,7 @@
fromdanish = {{do dinamarqu\^es}{do dinamarqu\^es}},
fromdutch = {{do holand{\^e}s}{do holand{\^e}s}},
fromenglish = {{do ingl\^es}{do ingl\^es}},
+% fromestonian = {{}{}},% FIXME: missing
fromfinnish = {{do finland\^es}{do finland\^es}},
fromfrench = {{do franc\^es}{do franc\^es}},
fromgerman = {{do alem\~ao}{do alem\~ao}},
@@ -455,6 +492,17 @@
library = {{biblioteca}{biblioteca}},
abstract = {{resumo}{resumo}},
annotation = {{notas}{notas}},
+ commonera = {{Era Comum}{EC}},
+ beforecommonera = {{antes da Era Comum}{AEC}},
+ annodomini = {{depois de Cristo}{d\adddot C\adddot}},
+ beforechrist = {{antes de Cristo}{a\adddot C\adddot}},
+% circa = {{}{}},% FIXME: missing
+% spring = {{}{}},% FIXME: missing
+% summer = {{}{}},% FIXME: missing
+% autumn = {{}{}},% FIXME: missing
+% winter = {{}{}},% FIXME: missing
+ am = {{AM}{AM}},
+ pm = {{PM}{PM}},
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/british.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/british.lbx
index 5d54ac91fad..fe10f05545d 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/british.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/british.lbx
@@ -4,7 +4,6 @@
\DeclareBibliographyExtras{%
\protected\def\bibrangedash{%
\textendash\penalty\hyphenpenalty}% breakable dash
- \protected\def\bibdatedash{\bibrangedash}%
\let\finalandcomma=\empty
\protected\def\mkbibordinal#1{%
\begingroup
@@ -27,17 +26,54 @@
{}
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\space}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\stripzeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
- {\mkdatezeros{\thefield{#3}}%
+ {\mkdayzeros{\thefield{#3}}%
\iffieldundef{#2}{}{/}}%
\iffieldundef{#2}
{}
- {\mkdatezeros{\thefield{#2}}%
+ {\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#1}{}{/}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\mkdatezeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
\InheritBibliographyStrings{english}
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx
index 9b116925185..8b6675d12b0 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx
@@ -5,7 +5,6 @@
\DeclareBibliographyExtras{%
\protected\def\bibrangedash{\addnbthinspace -\addnbthinspace}%
- \protected\def\bibdatedash{\addnbthinspace\textendash\addhpthinspace}%
\let\finalandcomma=\empty
\let\finalandsemicolon=\empty
\def\mkbibordinal{\mkbibmascord}%
@@ -37,37 +36,73 @@
{\space de\nobreakspace}}%
\iffieldundef{#1}
{}
- {\iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\thefield{#1}}}}%
+ {\iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\thefield{#1}}}}%
\protected\def\mkbibdateshort#1#2#3{% maintainers: check me
\iffieldundef{#3}
{}
- {\stripzeros{\thefield{#3}}%
+ {\mkdayzeros{\thefield{#3}}%
\iffieldundef{#2}{}{\mbox{-}}}%
\iffieldundef{#2}
{}
- {\stripzeros{\thefield{#2}}%
+ {\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#1}{}{\mbox{-}}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\thefield{#1}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\thefield{#1}}}%
\savecommand\lbx@initnamehook
\savecommand\lbx@inittitlehook
- \savecommand\mkbibrangeterse
+ \savecommand\mkdaterangeterse
\savecommand\mkbibordedition
\savecommand\mkbibordseries
\let\lbx@initnamehook=\lbx@ca@smartof
\let\lbx@inittitlehook=\lbx@ca@smartof
- \protected\def\mkbibrangeterse{%
+ \protected\def\mkdaterangeterse{%
\BibliographyWarning{%
Date format 'terse' not applicable to\MessageBreak
Catalan dates. Using format 'short' instead}%
- \mkbibrangefull{short}}%
+ \mkdaterangefull{short}}%
\def\mkbibordedition{\mkbibfemord}%
\def\mkbibordseries{\mkbibfemord}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
\UndeclareBibliographyExtras{%
\restorecommand\lbx@initnamehook
\restorecommand\lbx@inittitlehook
- \restorecommand\mkbibrangeterse
+ \restorecommand\mkdaterangeterse
\restorecommand\mkbibordedition
\restorecommand\mkbibordseries
}
@@ -420,6 +455,7 @@
langdanish = {{dan\`es}{dan\adddot}},
langdutch = {{neerland\`es}{neerl\adddot}},
langenglish = {{angl\`es}{ang\adddot}},
+% langestonian = {{}{}},% FIXME: missing
langfinnish = {{fin\`es}{fin\adddot}},
langfrench = {{franc\`es}{fr\adddot}},
langgerman = {{alemany}{al\adddot}},
@@ -441,6 +477,7 @@
fromdanish = {{del dan\`es}{del dan\adddot}},
fromdutch = {{del neerland\`es}{del neerl\adddot}},
fromenglish = {{de l'angl\`es}{de l'ang\adddot}},
+% fromestonian = {{}{}},% FIXME: missing
fromfinnish = {{del fin\`es}{del fin\adddot}},
fromfrench = {{del franc\`es}{del fr\adddot}},
fromgerman = {{de l'alemany}{de l'al\adddot}},
@@ -476,6 +513,17 @@
library = {{biblioteca}{bibl\adddot}},
abstract = {{resum}{res\adddot}},
annotation = {{nota}{n\adddot}},
+ commonera = {{Era Comuna}{EC}},
+ beforecommonera = {{abans de l’Era Comuna}{AEC}},
+ annodomini = {{despr\'es de Crist}{dC}},
+ beforechrist = {{abans de Crist}{aC}},
+% circa = {{}{}},% FIXME: missing
+% spring = {{}{}},% FIXME: missing
+% summer = {{}{}},% FIXME: missing
+% autumn = {{}{}},% FIXME: missing
+% winter = {{}{}},% FIXME: missing
+ am = {{a\adddotspace m\adddot}{a\adddotspace m\adddot}},
+ pm = {{p\adddotspace m\adddot}{p\adddotspace m\adddot}},
}
\begingroup
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx
index 08aee901dbf..cacb3ced281 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx
@@ -9,7 +9,6 @@
\DeclareBibliographyExtras{%
\protected\def\bibrangedash{\textendash\penalty\hyphenpenalty}%
- \protected\def\bibdatedash{\addnbthinspace\textendash\addhpthinspace}%
\let\finalandcomma=\empty
\let\finalandsemicolon=\empty
\protected\def\mkbibordinal#1{\stripzeros{#1}\adddot}%
@@ -29,7 +28,7 @@
\iffieldundef{#1}{}{\space}}%
\iffieldbibstring{#1}
{\bibstring{\thefield{#1}}}
- {\stripzeros{\thefield{#1}}}}%
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
@@ -41,11 +40,43 @@
\iffieldundef{#1}{}{\addnbthinspace}}%
\iffieldbibstring{#1}
{\bibstring{\thefield{#1}}}
- {\stripzeros{\thefield{#1}}}}%
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
\savecommand\mkbibordedition
\savecommand\mkbibordseries
\def\mkbibordedition{\mkbibordinal}%
\def\mkbibordseries{\mkbibfemord}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
\UndeclareBibliographyExtras{%
@@ -433,6 +464,7 @@
langdanish = {{danski}{danski}},
langdutch = {{nizozemski}{nizozemski}},
langenglish = {{engleski}{engleski}},
+% langestonian = {{}{}},% FIXME: missing
% langfinnish = {{}{}},% FIXME: missing
langfrench = {{francuski}{francuski}},
langgerman = {{njema\v{c}ki}{njema\v{c}ki}},
@@ -454,6 +486,7 @@
fromdanish = {{s danskog}{s danskog}},
fromdutch = {{s nizozemskog}{s nizozemskog}},
fromenglish = {{s engleskog}{s engleskog}},
+% fromestonian = {{}{}},% FIXME: missing
% fromfinnish = {{}{}},% FIXME: missing
fromfrench = {{s francuskog}{s francuskog}},
fromgerman = {{s njema\v{c}kog}{s njema\v{c}kog}},
@@ -492,6 +525,17 @@
library = {{biblioteka}{biblioteka}},
abstract = {{sa\v{z}etak}{sa\v{z}etak}},
annotation = {{bilje\v{s}ka}{bilje\v{s}ka}},
+ commonera = {{n\adddot e\adddot}{n\adddot e\adddot}},
+ beforecommonera = {{pr\adddotspace n\adddotspace e\adddot}{pr\adddotspace n\adddotspace e\adddot}},
+ annodomini = {{poslije Krista}{p\adddotspace Kr\adddot}},
+ beforechrist = {{prije Krista}{pr\adddotspace Kr\adddot}},
+% circa = {{}{}},% FIXME: missing
+% spring = {{}{}},% FIXME: missing
+% summer = {{}{}},% FIXME: missing
+% autumn = {{}{}},% FIXME: missing
+% winter = {{}{}},% FIXME: missing
+ am = {{AM}{AM}},
+ pm = {{PM}{PM}},
}
\protected\gdef\lbx@cr@mkbibmonth#1{%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx
index 5c3593dff42..0a8cfeeef94 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx
@@ -5,8 +5,6 @@
\DeclareCapitalPunctuation{.!?}%
\protected\def\bibrangedash{%
\textendash\penalty\hyphenpenalty}% breakable dash
- \protected\def\bibdatedash{%
- \textemdash\penalty\hyphenpenalty}% breakable dash
\let\finalandcomma=\empty
\let\finalandsemicolon=\empty
\protected\def\mkbibordinal#1{\stripzeros{#1}\adddot}%
@@ -22,19 +20,55 @@
{}
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\space}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\stripzeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
- {\mkdatezeros{\thefield{#3}}\adddot
+ {\mkdayzeros{\thefield{#3}}\adddot
\iffieldundef{#2}{}{\thinspace}}%
\iffieldundef{#2}
{}
- {\mkdatezeros{\thefield{#2}}%
+ {\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#1}
{}
{\iffieldundef{#3}{/}{\adddot\thinspace}}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\mkdatezeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
\DeclareBibliographyStrings{%
@@ -342,6 +376,7 @@
langdanish = {{d\'{a}n\v{s}tina}{d\'{a}n\adddot}},
langdutch = {{holand\v{s}tina}{hol.\adddot}},
langenglish = {{angli\v{c}tina}{angl\adddot}},
+% langestonian = {{}{}},% FIXME: missing
langfinnish = {{fin\v{s}tina}{fin\adddot}},
langfrench = {{francouz\v{s}tina}{franc\adddot}},
langgerman = {{n\v{e}m\v{c}ina}{n\v{e}m\adddot}},
@@ -362,6 +397,7 @@
fromdanish = {{z d\'{a}n\v{s}tiny}{z d\'{a}n\adddot}},
fromdutch = {{z holand\v{s}tiny}{z hol\adddot}},
fromenglish = {{z angli\v{c}tiny}{z angl\adddot}},
+% fromestonian = {{}{}},% FIXME: missing
fromfinnish = {{z fin\v{s}tiny}{z fin.}},
fromfrench = {{z francouz\v{s}tiny}{z franc\adddot}},
fromgerman = {{z n\v{e}m\v{c}iny}{z n\v{e}m\adddot}},
@@ -396,6 +432,17 @@
library = {{knihovna}{knih\adddot}},
abstract = {{abstrakt}{abst\adddot}},
annotation = {{anotace}{anot\adddot}},
+% commonera = {{}{}},
+% beforecommonera = {{}{}},
+ annodomini = {{n\adddotspace l\adddot}{n\adddotspace l\adddot}},
+ beforechrist = {{p\v{r}\adddotspace n\adddotspace l\adddot}{p\v{r}\adddotspace n\adddotspace l\adddot}},
+% circa = {{}{}},% FIXME: missing
+% spring = {{}{}},% FIXME: missing
+% summer = {{}{}},% FIXME: missing
+% autumn = {{}{}},% FIXME: missing
+% winter = {{}{}},% FIXME: missing
+ am = {{dop\adddot}{dop\adddot}},
+ pm = {{odp\adddot}{odp\adddot}},
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx
index b0799936d61..c9786e9ee96 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx
@@ -6,7 +6,6 @@
\DeclareBibliographyExtras{%
\protected\def\bibrangedash{%
\textendash\penalty\hyphenpenalty}% breakable dash
- \protected\def\bibdatedash{\bibrangedash}%
\let\finalandcomma=\empty
\let\finalandsemicolon=\empty
\protected\def\mkbibordinal#1{\stripzeros{#1}\adddot}%
@@ -22,16 +21,52 @@
{}
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\space}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\stripzeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
- {\mkdatezeros{\thefield{#3}}\adddot}%
+ {\mkdayzeros{\thefield{#3}}\adddot}%
\iffieldundef{#2}
{}
- {\mkdatezeros{\thefield{#2}}%
+ {\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#1}{}{\adddot}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\mkdatezeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
\DeclareBibliographyStrings{%
@@ -408,6 +443,7 @@
langdanish = {{dansk}{dansk}},
langdutch = {{nederlandsk}{nederlandsk}},
langenglish = {{engelsk}{engelsk}},
+% langestonian = {{}{}},% FIXME: missing
langfinnish = {{finsk}{finsk}},
langfrench = {{fransk}{fransk}},
langgerman = {{tysk}{tysk}},
@@ -429,6 +465,7 @@
fromdanish = {{fra dansk}{fra dansk}},
fromdutch = {{fra nederlandsk}{fra nederlandsk}},
fromenglish = {{fra engelsk}{fra engelsk}},
+% fromestonian = {{}{}},% FIXME: missing
fromfinnish = {{fra finsk}{fra finsk}},
fromfrench = {{fra fransk}{fra fransk}},
fromgerman = {{fra tysk}{fra tysk}},
@@ -466,6 +503,17 @@
% alternative translation:
% abstract = {{abstract}{abstract}},
annotation = {{forklaring}{forklaring}},
+ commonera = {{vesterlandsk tidsregning}{v\adddot t\adddot}},
+ beforecommonera = {{f\o r vesterlandsk tidsregning}{f\adddot v\adddot t\adddot}},
+ annodomini = {{e\adddot Kr\adddot}{e\adddot Kr\adddot}},
+ beforechrist = {{f\adddot Kr\adddot}{f\adddot Kr\adddot}},
+% circa = {{}{}},% FIXME: missing
+% spring = {{}{}},% FIXME: missing
+% summer = {{}{}},% FIXME: missing
+% autumn = {{}{}},% FIXME: missing
+% winter = {{}{}},% FIXME: missing
+ am = {{AM}{AM}},
+ pm = {{PM}{PM}},
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx
index 2f0b63da8a3..e9a068242a5 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx
@@ -10,7 +10,6 @@
\DeclareBibliographyExtras{%
\protected\def\bibrangedash{%
\textendash\penalty\hyphenpenalty}% breakable dash
- \protected\def\bibdatedash{\bibrangedash}%
\let\finalandcomma=\empty
\let\finalandsemicolon=\empty
% both ordinal numbers are valid, the first is the most basic: 1e, 2e, 19e
@@ -42,17 +41,53 @@
{}
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\space}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\stripzeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
- {\mkdatezeros{\thefield{#3}}%
+ {\mkdayzeros{\thefield{#3}}%
\iffieldundef{#2}{}{\mbox{-}}}%
\iffieldundef{#2}
{}
- {\mkdatezeros{\thefield{#2}}%
+ {\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#1}{}{\mbox{-}}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\mkdatezeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
\DeclareBibliographyStrings{%
@@ -411,6 +446,7 @@
langdanish = {{Deens}{Deens}},
langdutch = {{Nederlands}{Nederlands}},
langenglish = {{Engels}{Engels}},
+% langestonian = {{}{}},% FIXME: missing
langfinnish = {{Fins}{Fins}},
langfrench = {{Frans}{Frans}},
langgerman = {{Duits}{Duits}},
@@ -432,6 +468,7 @@
fromdanish = {{uit het Deens}{uit het Deens}},
fromdutch = {{uit het Nederlands}{uit het Nederlands}},
fromenglish = {{uit het Engels}{uit het Engels}},
+% fromestonian = {{}{}},% FIXME: missing
fromfinnish = {{uit het Fins}{uit het Fins}},
fromfrench = {{uit het Frans}{uit het Frans}},
fromgerman = {{uit het Duits}{uit het Duits}},
@@ -463,6 +500,17 @@
patreqfr = {{Franse patentaanvraag}{Franse patentaanvr\adddot}},
patrequk = {{Britse patentaanvraag}{Britse patentaanvr\adddot}},
patrequs = {{Amerikaanse patentaanvraag}{Amer\adddot patentaanvr\adddot}},
+ commonera = {{gewone jaartelling}{g\adddot j\adddot}},
+ beforecommonera = {{v\'o\'or gewone jaartelling}{v\adddot g\adddot j\adddot}},
+ annodomini = {{na Christus}{n\adddot Chr\adddot}},
+ beforechrist = {{voor Christus}{v\adddot Chr\adddot}},
+% circa = {{}{}},% FIXME: missing
+% spring = {{}{}},% FIXME: missing
+% summer = {{}{}},% FIXME: missing
+% autumn = {{}{}},% FIXME: missing
+% winter = {{}{}},% FIXME: missing
+ am = {{a\adddot m\adddot}{a\adddot m\adddot}},
+ pm = {{p\adddot m\adddot}{p\adddot m\adddot}},
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx
index 754cc2939a7..b8f5ff5728c 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx
@@ -7,7 +7,6 @@ canadian,australian,newzealand,USenglish,UKenglish}
\DeclareBibliographyExtras{%
\protected\def\bibrangedash{%
\textendash\penalty\hyphenpenalty}% breakable dash
- \protected\def\bibdatedash{\bibrangedash}%
\def\finalandcomma{\addcomma}%
\def\finalandsemicolon{\addsemicolon}%
\protected\def\mkbibordinal#1{%
@@ -35,40 +34,73 @@ canadian,australian,newzealand,USenglish,UKenglish}
\iffieldundef{#1}{}{,\space}}%
\iffieldbibstring{#1}
{\bibstring{\thefield{#1}}}
- {\stripzeros{\thefield{#1}}}}%
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#2}
{}
- {\mkdatezeros{\thefield{#2}}%
+ {\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#3}
{\iffieldundef{#1}{}{/}}
{/}}%
\iffieldundef{#3}
{}
- {\mkdatezeros{\thefield{#3}}%
+ {\mkdayzeros{\thefield{#3}}%
\iffieldundef{#1}{}{/}}%
\iffieldbibstring{#1}
{\bibstring{\thefield{#1}}}
- {\mkdatezeros{\thefield{#1}}}}%
- \savecommand\mkbibrangecomp
- \savecommand\mkbibrangecompextra
- \savecommand\mkbibrangeterse
- \savecommand\mkbibrangeterseextra
- \protected\def\mkbibrangecomp{%
- \lbx@us@mkbibrangetrunc@long{long}}%
- \protected\def\mkbibrangeterse{%
- \lbx@us@mkbibrangetrunc@short{short}}%
- \protected\def\mkbibrangecompextra{%
- \lbx@us@mkbibrangetruncextra@long{long}}%
- \protected\def\mkbibrangeterseextra{%
- \lbx@us@mkbibrangetruncextra@short{short}}%
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \savecommand\mkdaterangecomp
+ \savecommand\mkdaterangecompextra
+ \savecommand\mkdaterangeterse
+ \savecommand\mkdaterangeterseextra
+ \protected\def\mkdaterangecomp{%
+ \lbx@us@mkdaterangetrunc@long{long}}%
+ \protected\def\mkdaterangeterse{%
+ \lbx@us@mkdaterangetrunc@short{short}}%
+ \protected\def\mkdaterangecompextra{%
+ \lbx@us@mkdaterangetruncextra@long{long}}%
+ \protected\def\mkdaterangeterseextra{%
+ \lbx@us@mkdaterangetruncextra@short{short}}%
}
\UndeclareBibliographyExtras{%
- \restorecommand\mkbibrangecomp
- \restorecommand\mkbibrangecompextra
- \restorecommand\mkbibrangeterse
- \restorecommand\mkbibrangeterseextra
+ \restorecommand\mkdaterangecomp
+ \restorecommand\mkdaterangecompextra
+ \restorecommand\mkdaterangeterse
+ \restorecommand\mkdaterangeterseextra
}
\DeclareBibliographyStrings{%
@@ -425,6 +457,7 @@ canadian,australian,newzealand,USenglish,UKenglish}
langdanish = {{Danish}{Danish}},
langdutch = {{Dutch}{Dutch}},
langenglish = {{English}{English}},
+ langestonian = {{Estonian}{Estonian}},
langfinnish = {{Finnish}{Finnish}},
langfrench = {{French}{French}},
langgerman = {{German}{German}},
@@ -446,6 +479,7 @@ canadian,australian,newzealand,USenglish,UKenglish}
fromdanish = {{from the Danish}{from the Danish}},
fromdutch = {{from the Dutch}{from the Dutch}},
fromenglish = {{from the English}{from the English}},
+ fromestonian = {{from the Estonian}{from the Estonian}},
fromfinnish = {{from the Finnish}{from the Finnish}},
fromfrench = {{from the French}{from the French}},
fromgerman = {{from the German}{from the German}},
@@ -481,74 +515,135 @@ canadian,australian,newzealand,USenglish,UKenglish}
library = {{library}{library}},
abstract = {{abstract}{abstract}},
annotation = {{annotations}{annotations}},
+ commonera = {{Common Era}{CE}},
+ beforecommonera = {{Before Common Era}{BCE}},
+ annodomini = {{Anno Domini}{AD}},
+ beforechrist = {{Before Christ}{BC}},
+ circa = {{circa}{ca\adddot}},
+ spring = {{Spring}{Spr\adddot}},
+ summer = {{Summer}{Sum\adddot}},
+ autumn = {{Autumn}{Aut\adddot}},
+ winter = {{Winter}{Win\adddot}},
+ am = {{AM}{AM}},
+ pm = {{PM}{PM}},
}
-\protected\gdef\lbx@us@mkbibrangetrunc@long#1#2{%
+\protected\gdef\lbx@us@mkdaterangetrunc@long#1#2{%
\iffieldundef{#2year}
{}
- {\printtext[#2date]{%
- \iffieldsequal{#2year}{#2endyear}
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}
- {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}%
+ {\datecircaprint
+ \printtext[#2date]{%
+ \iffieldundef{#2season}
+ {\iffieldsequal{#2year}{#2endyear}
+ {\csuse{mkbibdate#1}{}{#2month}{#2day}}
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+ \dateeraprint{#2}}}
+ {\iffieldsequal{#2year}{#2endyear}
+ {\csuse{mkbibseasondate#1}{}{#2season}}
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+ \dateeraprint{#2}}%
+ \dateuncertainprint
\iffieldundef{#2endyear}
- {}
- {\iffieldequalstr{#2endyear}{}
- {\mbox{\bibdatedash}}
- {\bibdatedash
- \iffieldsequal{#2year}{#2endyear}
- {\iffieldsequal{#2month}{#2endmonth}
- {\csuse{mkbibdate#1}{#2endyear}{}{#2endday}}
- {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
- {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}}
+ {}
+ {\iffieldequalstr{#2endyear}{}
+ {\mbox{\bibdaterangesep}}
+ {\bibdaterangesep
+ \enddatecircaprint
+ \iffieldundef{#2season}
+ {\iffieldsequal{#2year}{#2endyear}
+ {\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}}%
+ \enddateuncertainprint
+ \dateeraprint{#2}}}}}}
-\protected\gdef\lbx@us@mkbibrangetrunc@short#1#2{%
+\protected\gdef\lbx@us@mkdaterangetrunc@short#1#2{%
\iffieldundef{#2year}
{}
- {\printtext[#2date]{%
- \iffieldsequal{#2year}{#2endyear}
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}
- {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}%
+ {\datecircaprint
+ \printtext[#2date]{%
+ \iffieldundef{#2season}
+ {\iffieldsequal{#2year}{#2endyear}
+ {\csuse{mkbibdate#1}{}{#2month}{#2day}}
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}
+ \dateeraprint{#2}}}
+ {\iffieldsequal{#2year}{#2endyear}
+ {\csuse{mkbibseasondate#1}{}{#2season}}
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+ \dateeraprint{#2}}%
+ \dateuncertainprint
\iffieldundef{#2endyear}
{}
{\iffieldequalstr{#2endyear}{}
- {\mbox{\bibdatedash}}
- {\bibdatedash
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}}
+ {\mbox{\bibdaterangesep}}
+ {\bibdaterangesep
+ \enddatecircaprint
+ \iffieldundef{#2season}
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+ \enddateuncertainprint
+ \dateeraprint{#2}}}}}}
-\protected\gdef\lbx@us@mkbibrangetruncextra@long#1#2{%
+\protected\gdef\lbx@us@mkdaterangetruncextra@long#1#2{%
\iffieldundef{#2year}
{}
- {\printtext[#2date]{%
- \iffieldsequal{#2year}{#2endyear}
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}
- {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}%
+ {\datecircaprint
+ \printtext[#2date]{%
+ \iffieldundef{#2season}
+ {\iffieldsequal{#2year}{#2endyear}
+ {\csuse{mkbibdate#1}{}{#2month}{#2day}}
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}
+ {\iffieldsequal{#2year}{#2endyear}
+ {\csuse{mkbibseasondate#1}{}{#2season}}
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+ \dateeraprint{#2}}%
+ \dateuncertainprint
\iffieldundef{#2endyear}
{\printfield{extrayear}}
{\iffieldequalstr{#2endyear}{}
{\printfield{extrayear}%
- \mbox{\bibdatedash}}
- {\bibdatedash
- \iffieldsequal{#2year}{#2endyear}
- {\iffieldsequal{#2month}{#2endmonth}
- {\csuse{mkbibdate#1}{#2endyear}{}{#2endday}}
- {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
- {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}%
- \printfield{extrayear}}}}}}
+ \mbox{\bibdaterangesep}}
+ {\bibdaterangesep
+ \enddatecircaprint
+ \iffieldundef{#2season}
+ {\iffieldsequal{#2year}{#2endyear}
+ {\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}}%
+ \printfield{extrayear}%
+ \enddateuncertainprint
+ \dateeraprint{#2}}}}}}
-\protected\gdef\lbx@us@mkbibrangetruncextra@short#1#2{%
+\protected\gdef\lbx@us@mkdaterangetruncextra@short#1#2{%
\iffieldundef{#2year}
{}
- {\printtext[#2date]{%
- \iffieldsequal{#2year}{#2endyear}
- {\csuse{mkbibdate#1}{}{#2month}{#2day}}
- {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}%
+ {\datecircaprint
+ \printtext[#2date]{%
+ \iffieldundef{#2season}
+ {\iffieldsequal{#2year}{#2endyear}
+ {\csuse{mkbibdate#1}{}{#2month}{#2day}}
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}
+ {\iffieldsequal{#2year}{#2endyear}
+ {\csuse{mkbibseasondate#1}{}{#2season}}
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+ \dateeraprint{#2}}%
+ \dateuncertainprint
\iffieldundef{#2endyear}
{\printfield{extrayear}}
{\iffieldequalstr{#2endyear}{}
{\printfield{extrayear}%
- \mbox{\bibdatedash}}
- {\bibdatedash
- \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
- \printfield{extrayear}}}}}}
+ \mbox{\bibdaterangesep}}
+ {\bibdaterangesep
+ \enddatecircaprint
+ \iffieldundef{#2season}
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+ \printfield{extrayear}%
+ \enddateuncertainprint
+ \dateeraprint{#2}}}}}}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx
new file mode 100644
index 00000000000..3af5e3c9cb0
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx
@@ -0,0 +1,578 @@
+\ProvidesFile{estonian.lbx}
+[\abx@lbxid]
+
+% First attempt at Estonian using Finnish.lbx, Bing translator and a dictionary
+% Translator's notes:
+% Some translations look akward but they are made in such a way
+% that they look as good as possible in running text.
+% Source for some items in translations: Kielikello 3/1998.
+% and Liisa Junno: Kirjastosanasto 1. BTJ Kirjastopalvelu 2006.
+
+\DeclareRedundantLanguages{estonian}{estonian}
+
+\NewBibliographyString{%
+ basicjanuary,
+ basicfebruary,
+ basicmarch,
+ basicapril,
+ basicmay,
+ basicjune,
+ basicjuly,
+ basicaugust,
+ basicseptember,
+ basicoctober,
+ basicnovember,
+ basicdecember%
+}
+
+\DeclareBibliographyExtras{%
+ % dashes: may be either \textendash or \textemdash
+ \protected\def\bibrangedash{%
+ \textendash\penalty\hyphenpenalty}% breakable dash
+ \let\finalandcomma=\empty
+ \let\finalandsemicolon=\empty
+ \protected\def\mkbibordinal#1{\stripzeros{#1}\adddot}%
+ \protected\def\mkbibmascord{\mkbibordinal}%
+ \protected\def\mkbibfemord{\mkbibordinal}%
+ \protected\def\mkbibneutord{\mkbibordinal}%
+ \protected\def\mkbibdatelong#1#2#3{%
+ \iffieldundef{#3}
+ {}
+ {\mkbibordinal{\thefield{#3}}%
+ \iffieldundef{#2}{}{\nobreakspace}}%
+ \iffieldundef{#2}
+ {}
+ {\iffieldundef{#3}
+ {\lbx@fi@mkbibmonthbasic{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}}%
+ {\mkbibmonth{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
+ \protected\def\mkbibdateshort#1#2#3{%
+ \iffieldundef{#3}
+ {}
+ {\mkdayzeros{\thefield{#3}}\adddot
+ \iffieldundef{#2}{}{\thinspace}}%
+ \iffieldundef{#2}
+ {}
+ {\mkmonthzeros{\thefield{#2}}%
+ \iffieldundef{#1}
+ {}
+ {\iffieldundef{#3}{/}{\adddot\thinspace}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
+ \savecommand\lbx@lfromlang
+ \savecommand\lbx@sfromlang
+ \def\lbx@lfromlang{%
+ \iffieldundef{origlanguage}
+ {}
+ {\biblstring{from\thefield{origlanguage}}\space}}%
+ \def\lbx@sfromlang{%
+ \iffieldundef{origlanguage}
+ {}
+ {\bibsstring{from\thefield{origlanguage}}\space}}%
+ \savebibmacro{in:}%
+ \renewbibmacro{in:}{%
+ \iffieldequalstr{entrytype}{article}
+ {}
+ {\printtext{\bibstring{in}\intitlepunct}}}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+}
+
+\UndeclareBibliographyExtras{%
+ \restorecommand\lbx@lfromlang
+ \restorecommand\lbx@sfromlang
+ \restorebibmacro{in:}%
+}
+
+\DeclareBibliographyStrings{%
+ bibliography = {{bibliograafia}{bibliograafia}},
+ references = {{viited}{viited}},
+ shorthands = {{nimekirja ning l\"{u}hendid}{l\"{u}hendid}},
+ editor = {{toimetaja}{toim\adddot}},
+ editors = {{toimetajad}{toim\adddot}},
+ compiler = {{kompilaator}{koompilaator}},
+ compilers = {{kompilaatorid}{kompilaatorid}},
+ redactor = {{toimittanut}{toim\adddot}},
+ redactors = {{toimittaneet}{toim\adddot}},
+ reviser = {{L\"{a}bi vaadataja}{L\"{a}bi vaadataja}},
+ revisers = {{L\"{a}bi vaadatajad}{L\"{a}bi vaadatajad}},
+ founder = {{asutaja}{asutaja}},
+ founders = {{asutajad}{asutajad}},
+ continuator = {{jatkaja}{jatkaja}},
+ continuators = {{jatkajad}{jatkajad}},
+ collaborator = {{kaast\"{o}\"{o}line}{kaast\"{o}\"{o}line}},
+ collaborators = {{kaast\"{o}\"{o}tajate}{kaast\"{o}\"{o}tajate}},
+ translator = {{t\~{o}lkija}{t\~{o}lkija}},
+ translators = {{t\~{o}lkijad}{t\~{o}lkijad}},
+ commentator = {{kommentaator}{kommentaator}},
+ commentators = {{kommentaatorid}{kommentaatorid}},
+ annotator = {{selityksin varustanut}{selityksin varustanut}},
+ annotators = {{selityksin varustaneet}{selityksin varustaneet}},
+ commentary = {{kommentaaris}{kommentaaris}},
+ annotations = {{annotatsioonide}{annotatsioonide}},
+ introduction = {{sissejuhatus}{sissejuhatus}},
+ foreword = {{eess\~{o}na}{eess\~{o}na}},
+ afterword = {{j\"{a}rels\~{o}na}{j\"{a}rels\~{o}na}},
+ editortr = {{toimetaja ja t\~{o}lkija}%
+ {toim\adddotspace ja t\~{o}lk\adddot}},
+ editorstr = {{toimetajad ja t\~{o}lkijate}%
+ {toim\adddotspace ja t\~{o}lk\adddot}},
+ editorco = {{toimetaja ja kommentaator}%
+ {toimetaja ja kommentaator}},
+ editorsco = {{toimetajad ja kommentaatorid}%
+ {toimetajad ja kommentaatorid}},
+ editoran = {{toimetaja ja annotator}%
+ {toimetaja ja annotator}},
+ editorsan = {{toimetajad ja annotators}%
+ {toimetajad ja annotators}},
+ editorin = {{toimetaja ja sissejuhatus}%
+ {toimetaja ja sissejuhatus}},
+ editorsin = {{toimetajad ja sissejuhatus}%
+ {toimetajad ja sissejuhatus}},
+ editorfo = {{toimetaja ja eess\~{o}na}%
+ {toimetaja ja eess\~{o}na}},
+ editorsfo = {{toimetajad ja eess\~{o}na}%
+ {toimetajad ja eess\~{o}na}},
+ editoraf = {{toimetaja ja j\"{a}rels\~{o}na}%
+ {toimetaja ja j\"{a}rels\~{o}na}},
+ editorsaf = {{toimetajad ja j\"{a}rels\~{o}na}%
+ {toimetajad ja j\"{a}rels\~{o}na}},
+ editortrco = {{toimetaja, translator\finalandcomma\ ja kommentaator} %
+ {toim, \addabbrvspace trans\adddot\finalandcomma\ ja comm\adddot}},
+ editorstrco = {{toimetajad, translators\finalandcomma\ ja kommentaatorid} %
+ {eds., \addabbrvspace trans\adddot\finalandcomma\ ja comm\adddot}},
+ editortran = {{toimetaja, translator\finalandcomma\ ja annotator} %
+ {toim, \addabbrvspace trans\adddot\finalandcomma\ ja annot\adddot}},
+ editorstran = {{toimetajad, translators\finalandcomma\ ja annotators} %
+ {eds., \addabbrvspace trans\adddot\finalandcomma\ ja annot\adddot}},
+ editortrin = {{toimetaja, translator\finalandcomma\ ja Sissejuhatus} %
+ {toim, \addabbrvspace trans\adddot\finalandcomma\ ja introd\adddot}},
+ editorstrin = {{toimetajad, translators\finalandcomma\ ja Sissejuhatus} %
+ {eds., \addabbrvspace trans\adddot\finalandcomma\ ja introd\adddot}},
+ editortrfo = {{toimetaja, translator\finalandcomma\ ja eess\~{o}na} %
+ {toim, \addabbrvspace trans\adddot\finalandcomma\ ja forew\adddot}},
+ editorstrfo = {{toimetajad, translators\finalandcomma\ ja eess\~{o}na} %
+ {eds., \addabbrvspace trans\adddot\finalandcomma\ ja forew\adddot}},
+ editortraf = {{toimetaja, translator\finalandcomma\ ja J\"{a}rels\~{o}na} %
+ {toim, \addabbrvspace trans\adddot\finalandcomma\ ja afterw\adddot}},
+ editorstraf = {{toimetajad, translators\finalandcomma\ ja J\"{a}rels\~{o}na} %
+ {eds., \addabbrvspace trans\adddot\finalandcomma\ ja afterw\adddot}},
+ editorcoin = {{toimetaja, commentator\finalandcomma\ ja Sissejuhatus} %
+ {toim, \addabbrvspace comm\adddot\finalandcomma\ ja introd\adddot}},
+ editorscoin = {{toimetajad, commentators\finalandcomma\ ja Sissejuhatus} %
+ {eds., \addabbrvspace comm\adddot\finalandcomma\ ja introd\adddot}},
+ editorcofo = {{toimetaja, commentator\finalandcomma\ ja eess\~{o}na} %
+ {toim, \addabbrvspace comm\adddot\finalandcomma\ ja forew\adddot}},
+ editorscofo = {{toimetajad, commentators\finalandcomma\ ja eess\~{o}na} %
+ {eds., \addabbrvspace comm\adddot\finalandcomma\ ja forew\adddot}},
+ editorcoaf = {{toimetaja, commentator\finalandcomma\ ja J\"{a}rels\~{o}na} %
+ {toim, \addabbrvspace comm\adddot\finalandcomma\ ja afterw\adddot}},
+ editorscoaf = {{toimetajad, commentators\finalandcomma\ ja J\"{a}rels\~{o}na} %
+ {eds., \addabbrvspace comm\adddot\finalandcomma\ ja afterw\adddot}},
+ editoranin = {{toimetaja, annotator\finalandcomma\ ja Sissejuhatus} %
+ {toim, \addabbrvspace annot\adddot\finalandcomma\ ja introd\adddot}},
+ editorsanin = {{toimetajad, annotators\finalandcomma\ ja Sissejuhatus} %
+ {eds., \addabbrvspace annot\adddot\finalandcomma\ ja introd\adddot}},
+ editoranfo = {{toimetaja, annotator\finalandcomma\ ja eess\~{o}na} %
+ {toim, \addabbrvspace annot\adddot\finalandcomma\ ja forew\adddot}},
+ editorsanfo = {{toimetajad, annotators\finalandcomma\ ja eess\~{o}na} %
+ {eds., \addabbrvspace annot\adddot\finalandcomma\ ja forew\adddot}},
+ editoranaf = {{toimetaja, annotator\finalandcomma\ ja J\"{a}rels\~{o}na} %
+ {toim, \addabbrvspace annot\adddot\finalandcomma\ ja afterw\adddot}},
+ editorsanaf = {{toimetajad, annotators\finalandcomma\ ja J\"{a}rels\~{o}na} %
+ {eds., \addabbrvspace annot\adddot\finalandcomma\ ja afterw\adddot}},
+ editortrcoin = {{toimetaja, t\~{o}lkija, commentator\finalandcomma\ ja Sissejuhatus} %
+ {toim, \addabbrvspace trans., comm\adddot\finalandcomma\ ja introd\adddot}},
+ editorstrcoin = {{toimetajad, t\~{o}lkijad, commentators\finalandcomma\ ja Sissejuhatus} %
+ {eds., \addabbrvspace trans., comm\adddot\finalandcomma\ ja introd\adddot}},
+ editortrcofo = {{toimetaja, t\~{o}lkija, commentator\finalandcomma\ ja eess\~{o}na} %
+ {toim, \addabbrvspace trans., comm\adddot\finalandcomma\ ja forew\adddot}},
+ editorstrcofo = {{toimetajad, t\~{o}lkijad, commentators\finalandcomma\ ja eess\~{o}na} %
+ {eds., \addabbrvspace trans., comm\adddot\finalandcomma\ ja forew\adddot}},
+ editortrcoaf = {{toimetaja, t\~{o}lkija, commentator\finalandcomma\ ja J\"{a}rels\~{o}na} %
+ {toim, \addabbrvspace trans., comm\adddot\finalandcomma\ ja afterw\adddot}},
+ editorstrcoaf = {{toimetajad, t\~{o}lkijad, commentators\finalandcomma\ ja J\"{a}rels\~{o}na} %
+ {eds., \addabbrvspace trans., comm\adddot\finalandcomma\ ja afterw\adddot}},
+ editortranin = {{toimetaja, t\~{o}lkija, annotator\finalandcomma\ ja Sissejuhatus} %
+ {toim, \addabbrvspace trans., annot\adddot\finalandcomma\ ja introd\adddot}},
+ editorstranin = {{toimetajad, t\~{o}lkijad, annotators\finalandcomma\ ja Sissejuhatus} %
+ {eds., \addabbrvspace trans., annot\adddot\finalandcomma\ ja introd\adddot}},
+ editortranfo = {{toimetaja, t\~{o}lkija, annotator\finalandcomma\ ja eess\~{o}na} %
+ {toim, \addabbrvspace trans., annot\adddot\finalandcomma\ ja forew\adddot}},
+ editorstranfo = {{toimetajad, t\~{o}lkijad, annotators\finalandcomma\ ja eess\~{o}na} %
+ {eds., \addabbrvspace trans., annot\adddot\finalandcomma\ ja forew\adddot}},
+ editortranaf = {{toimetaja, t\~{o}lkija, annotator\finalandcomma\ ja J\"{a}rels\~{o}na} %
+ {toim, \addabbrvspace trans., annot\adddot\finalandcomma\ ja afterw\adddot}},
+ editorstranaf = {{toimetajad, t\~{o}lkijad, annotators\finalandcomma\ ja J\"{a}rels\~{o}na} %
+ {eds., \addabbrvspace trans., annot\adddot\finalandcomma\ ja afterw\adddot}},
+ translatorco = {{t\~{o}lkija ja kommentaator} %
+ {trans\adddot\ ja comm\adddot}},
+ translatorsco = {{t\~{o}lkijate ja kommentaatorid} %
+ {trans\adddot\ ja comm\adddot}},
+ translatoran = {{t\~{o}lkija ja annotator} %
+ {trans\adddot\ ja annot\adddot}},
+ translatorsan = {{t\~{o}lkijate ja annotators} %
+ {trans\adddot\ ja annot\adddot}},
+ translatorin = {{t\~{o}lkimine ja Sissejuhatus} %
+ {trans\adddot\ ja introd\adddot}},
+ translatorsin = {{t\~{o}lkimine ja Sissejuhatus} %
+ {trans\adddot\ ja introd\adddot}},
+ translatorfo = {{t\~{o}lkimine ja eess\~{o}na} %
+ {trans\adddot\ ja forew\adddot}},
+ translatorsfo = {{t\~{o}lkimine ja eess\~{o}na} %
+ {trans\adddot\ ja forew\adddot}},
+ translatoraf = {{t\~{o}lkimine ja J\"{a}rels\~{o}na} %
+ {trans\adddot\ ja afterw\adddot}},
+ translatorsaf = {{t\~{o}lkimine ja J\"{a}rels\~{o}na} %
+ {trans\adddot\ ja afterw\adddot}},
+ translatorcoin = {{t\~{o}lkimine, commentary\finalandcomma\ ja Sissejuhatus} %
+ {trans., comm\adddot\finalandcomma\ ja introd\adddot}},
+ translatorscoin = {{t\~{o}lkimine, commentary\finalandcomma\ ja Sissejuhatus} %
+ {trans., comm\adddot\finalandcomma\ ja introd\adddot}},
+ translatorcofo = {{t\~{o}lkimine, commentary\finalandcomma\ ja eess\~{o}na} %
+ {trans., comm\adddot\finalandcomma\ ja forew\adddot}},
+ translatorscofo = {{t\~{o}lkimine, commentary\finalandcomma\ ja eess\~{o}na} %
+ {trans., comm\adddot\finalandcomma\ ja forew\adddot}},
+ translatorcoaf = {{t\~{o}lkimine, commentary\finalandcomma\ ja J\"{a}rels\~{o}na} %
+ {trans., comm\adddot\finalandcomma\ ja afterw\adddot}},
+ translatorscoaf = {{t\~{o}lkimine, commentary\finalandcomma\ ja J\"{a}rels\~{o}na} %
+ {trans., comm\adddot\finalandcomma\ ja afterw\adddot}},
+ translatoranin = {{t\~{o}lkimine, annotations\finalandcomma\ ja Sissejuhatus} %
+ {trans., annot\adddot\finalandcomma\ ja introd\adddot}},
+ translatorsanin = {{t\~{o}lkimine, annotations\finalandcomma\ ja Sissejuhatus} %
+ {trans., annot\adddot\finalandcomma\ ja introd\adddot}},
+ translatoranfo = {{t\~{o}lkimine, annotations\finalandcomma\ ja eess\~{o}na} %
+ {trans., annot\adddot\finalandcomma\ ja forew\adddot}},
+ translatorsanfo = {{t\~{o}lkimine, annotations\finalandcomma\ ja eess\~{o}na} %
+ {trans., annot\adddot\finalandcomma\ ja forew\adddot}},
+ translatoranaf = {{t\~{o}lkimine, annotations\finalandcomma\ ja J\"{a}rels\~{o}na} %
+ {trans., annot\adddot\finalandcomma\ ja afterw\adddot}},
+ translatorsanaf = {{t\~{o}lkimine, annotations\finalandcomma\ ja J\"{a}rels\~{o}na} %
+ {trans., annot\adddot\finalandcomma\ ja afterw\adddot}},
+ byauthor = {{kirjuttanud}{kirj\adddot}},
+ byeditor = {{toimittanud}{toim\adddot}},
+ bycompiler = {{koontanud}{koontanud}},
+ byredactor = {{redigeeritud poolt}{red\adddotspace poolt}},
+ byreviser = {{l\"{a}bivaadatud poolt}{rev\adddotspace poolt}},
+ byreviewer = {{vaadanud}{rev\adddotspace poolt}},
+ byfounder = {{asutasid}{found\adddotspace poolt}},
+ bycontinuator = {{j\"{a}tkas}{cont\adddotspace poolt}},
+ bycollaborator = {{koost\"{o}\"{o}s}{in collab\adddotspace koos}},
+ bytranslator = {{t\~{o}lgitud \lbx@lfromlang\ poolt}{trans\adddot\ \lbx@sfromlang\ poolt}},
+ bycommentator = {{kommentaarin kirjoittanut}{kommentaarin kirjoittanut}},% FIXME: unsure
+ byannotator = {{selgitustega poolt}{annot\adddot\ poolt}},
+ withcommentator = {{koos kommentaariga}{koos comment\adddot\ poolt}},
+ withannotator = {{koos annotations poolt}{koos annots\adddot\ poolt}},
+ withintroduction = {{koos tutvustus poolt}{koos poolt intro\adddot }},
+ withforeword = {{mis eess\~{o}na Autor}{koos forew\adddot\ poolt}},
+ withafterword = {{koos J\"{a}rels\~{o}na poolt}{koos poolt afterw\adddot }},
+ byeditortr = {{redigeeritud ja t\~{o}lgitud \lbx@lfromlang\ poolt}
+ {toim\adddotspace ja \lbx@sfromlang k\"a\"ant\adddot}},
+ byeditorco = {{toimetatud ja kommenteeritud} %
+ {ed\adddotspace ja comm\adddot\ poolt}},
+ byeditoran = {{redigeerida ja kanda} %
+ {ed\adddotspace ja annot\adddot\ poolt}},
+ byeditorin = {{redigeerida, tutvustus, Autor} %
+ {toim, \addabbrvspace koos m\~{o}ne introd. esitab}},
+ byeditorfo = {{redigeerinud, eess\~{o}na, kus autor} %
+ {toim, \addabbrvspace koos forew., poolt}},
+ byeditoraf = {{redigeerida, j\"{a}rels\~{o}na, Autor} %
+ {toim, koos m\~{o}ne afterw., \addabbrvspace poolt}},
+ byeditortrco = {{toimetatud, \lbx@lfromlang\finalandcomma\ t\~{o}lgitud ja kommenteeritud} %
+ {toim, \addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ ja comm\adddot\ poolt}},
+ byeditortran = {{redigeerida t\~{o}lgitud \lbx@lfromlang\finalandcomma\ ja kanda} %
+ {toim, \addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ ja annot\adddot\ poolt}},
+ byeditortrin = {{edited and translated \lbx@lfromlang, with an introduction, by} %
+ {ed\adddotspace ja trans\adddot\ \lbx@sfromlang, koos m\~{o}ne introd. esitab}},
+ byeditortrfo = {{edited and translated \lbx@lfromlang, with a foreword, by} %
+ {ed\adddotspace ja trans\adddot\ \lbx@sfromlang, koos forew., poolt}},
+ byeditortraf = {{edited and translated \lbx@lfromlang, with an afterword, by} %
+ {ed\adddotspace ja trans\adddot\ \lbx@sfromlang, koos m\~{o}ne afterw., poolt}},
+ byeditorcoin = {{toimetanud ja kommenteerinud koos tutvustus,} %
+ {ed\adddotspace ja comm., koos m\~{o}ne introd. esitab}},
+ byeditorcofo = {{toimetanud ja kommenteerinud mis eess\~{o}na,} %
+ {ed\adddotspace ja comm., koos forew., poolt}},
+ byeditorcoaf = {{toimetanud ja kommenteerinud koos J\"{a}rels\~{o}na,} %
+ {ed\adddotspace ja comm., koos m\~{o}ne afterw., poolt}},
+ byeditoranin = {{redigeerida ja selgitustega koos tutvustus,} %
+ {ed\adddotspace ja annot., koos m\~{o}ne introd. esitab}},
+ byeditoranfo = {{redigeerida ja selgitustega mis eess\~{o}na,} %
+ {ed\adddotspace ja annot., koos forew., poolt}},
+ byeditoranaf = {{redigeerida ja selgitustega koos J\"{a}rels\~{o}na,} %
+ {ed\adddotspace ja annot., koos m\~{o}ne afterw., poolt}},
+ byeditortrcoin = {{redigeerida, \lbx@lfromlang\finalandcomma\ t\~{o}lkinud ja kommenteerinud koos tutvustus,} %
+ {redigeerida, \lbx@lfromlang\finalandcomma\ t\~{o}lkinud ja kommenteerinud koos tutvustus,}},
+ byeditortrcofo = {{redigeerida, \lbx@lfromlang\finalandcomma\ t\~{o}lkinud ja kommenteerinud mis eess\~{o}na,} %
+ {redigeerida, \lbx@lfromlang\finalandcomma\ t\~{o}lkinud ja kommenteerinud mis eess\~{o}na,}},
+ byeditortrcoaf = {{toimetatud, \lbx@lfromlang\finalandcomma\ t\~{o}lgitud ja kommenteeritud koos J\"{a}rels\~{o}na,} %
+ {toimetatud, \lbx@lfromlang\finalandcomma\ t\~{o}lgitud ja kommenteeritud koos J\"{a}rels\~{o}na,}},
+ byeditortranin = {{redigeerida t\~{o}lgitud \lbx@lfromlang\finalandcomma\ ja selgitustega koos tutvustus,} %
+ {redigeerida t\~{o}lgitud \lbx@lfromlang\finalandcomma\ ja selgitustega koos tutvustus,}},
+ byeditortranfo = {{redigeerida t\~{o}lgitud \lbx@lfromlang\finalandcomma\ ja selgitustega mis eess\~{o}na,} %
+ {redigeerida t\~{o}lgitud \lbx@lfromlang\finalandcomma\ ja selgitustega mis eess\~{o}na,}},
+ byeditortranaf = {{redigeerida t\~{o}lgitud \lbx@lfromlang\finalandcomma\ ja selgitustega koos J\"{a}rels\~{o}na,} %
+ {redigeerida t\~{o}lgitud \lbx@lfromlang\finalandcomma\ ja selgitustega koos J\"{a}rels\~{o}na,}},
+ bytranslatorco = {{\lbx@lfromlang\ t\~{o}lgitud ja kommenteeritud} %
+ {\lbx@lfromlang\ t\~{o}lgitud ja kommenteeritud}},
+ bytranslatoran = {{t\~{o}lgitud \lbx@lfromlang\ ja kanda} %
+ {t\~{o}lgitud \lbx@lfromlang\ ja kanda}},
+ bytranslatorin = {{translated \lbx@lfromlang, with an introduction, by} %
+ {trans\adddot\ \lbx@sfromlang, with an introd., by}},
+ bytranslatorfo = {{translated \lbx@lfromlang, with a foreword, by} %
+ {trans\adddot\ \lbx@sfromlang, with a forew., by}},
+ bytranslatoraf = {{translated \lbx@lfromlang, with an afterword, by} %
+ {trans\adddot\ \lbx@sfromlang, with an afterw., by}},
+ bytranslatorcoin = {{\lbx@lfromlang\ t\~{o}lkinud ja kommenteerinud koos tutvustus,} %
+ {\lbx@lfromlang\ t\~{o}lkinud ja kommenteerinud koos tutvustus,}},
+ bytranslatorcofo = {{\lbx@lfromlang\ t\~{o}lkinud ja kommenteerinud mis eess\~{o}na,} %
+ {\lbx@lfromlang\ t\~{o}lkinud ja kommenteerinud mis eess\~{o}na,}},
+ bytranslatorcoaf = {{\lbx@lfromlang\ t\~{o}lkinud ja kommenteerinud koos J\"{a}rels\~{o}na,} %
+ {\lbx@lfromlang\ t\~{o}lkinud ja kommenteerinud koos J\"{a}rels\~{o}na,}},
+ bytranslatoranin = {{t\~{o}lgitud \lbx@lfromlang\ ja selgitustega koos tutvustus,} %
+ {t\~{o}lgitud \lbx@lfromlang\ ja selgitustega koos tutvustus,}},
+ bytranslatoranfo = {{t\~{o}lgitud \lbx@lfromlang\ ja selgitustega mis eess\~{o}na,} %
+ {t\~{o}lgitud \lbx@lfromlang\ ja selgitustega mis eess\~{o}na,}},
+ bytranslatoranaf = {{t\~{o}lgitud \lbx@lfromlang\ ja selgitustega koos J\"{a}rels\~{o}na,} %
+ {t\~{o}lgitud \lbx@lfromlang\ ja selgitustega koos J\"{a}rels\~{o}na,}},
+ and = {{ja}{ja}},
+ andothers = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}},
+ andmore = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}},
+ volume = {{k\"{o}ide}{k\"{o}ide}},
+ volumes = {{k\"{o}ided}{k\"{o}idef}},
+% involumes = {{}{}},% FIXME: missing. Finnish translation of "in 5 volumes" is "5 osassa".
+ jourvol = {{k\"{o}ide}{k\"{o}ide}},
+ jourser = {{seeria}{seeria}},
+ book = {{raamat}{raamat}},
+ part = {{osa}{osa}},
+ issue = {{numero}{numero}},
+ newseries = {{uues series}{uue ser\adddot}},
+ oldseries = {{vana seeria}{vana ser\adddot}},
+ edition = {{v\"{a}ljaanne}{v\"{a}ljaanne}},
+ reprint = {{kordustr\"{u}kk}{kordustr\"{u}kk}},
+ reprintof = {{kordustr\"{u}kk ning}{kordustr\"{u}kk ning}},
+ reprintas = {{kordustr\"{u}kk nagu}{kordustr\"{u}kk nagu}},
+ reprintfrom = {{kordustr\"{u}kk alates}{kordustr\"{u}kk alates}},
+ reviewof = {{vahekokkuv\~{o}tte}{vahekokkuv\~{o}tte}},
+ translationof = {{t\~{o}lkimine}{t\~{o}lkimine}},
+ translationas = {{t\~{o}lkida kui}{t\~{o}lkida kui}},
+ translationfrom = {{t\~{o}lgitud}{t\~{o}lgitud}},
+ origpubas = {{algselt avaldatud nagu}{algselt avaldatud nagu}},
+ origpubin = {{algselt avaldatud}{algselt avaldatud}},
+ astitle = {{j\"{a}rgnevatest}{j\"{a}rgnevatest}},
+ bypublisher = {{julkaissut}{julkaissut}},
+ page = {{lehek\"{u}lja}{l\adddot}},
+ pages = {{lehek\"{u}ljed}{l\adddot}},
+ column = {{veerg}{veerg}},
+ columns = {{veerud}{veerud}},
+ line = {{rida}{rida}},
+ lines = {{ridad}{ridad}},
+ nodate = {{kuup\"{a}ev puudub}},
+ verse = {{salm}{salm}},
+ verses = {{salmid}{salmid}},
+ section = {{jagu}{jagu}},
+ sections = {{kohdat}{kohdat}},
+ paragraph = {{kappale}{kappale}},
+ paragraphs = {{kappaleet}{kappaleet}},
+ in = {{teoksessa}{teoksessa}},
+ inseries = {{sarjassa}{sarjassa}},
+ ofseries = {{sarjassa}{sarjassa}},
+ number = {{arv}{arv}},
+ chapter = {{peat\"{u}kk}{peat\"{u}kk}},
+ mathesis = {{magistrit\"{o}\"{o}}{magistrit\"{o}\"{o}}},
+ phdthesis = {{doktorit\"{o}\"{o}}{doktorit\"{o}\"{o}}},
+ candthesis = {{kandidaadi v\"{a}itekirja}{kandidaadi v\"{a}itekirja}},% Literal translation of "Candidate thesis".
+ resreport = {{tutkimusraportti}{tutkimusraportti}},
+ techreport = {{uuringute raport}{uuringute raport}},
+ software = {{tarkvara}{tarkvara}},
+ datacd = {{CD-ROM}{CD-ROM}},
+ audiocd = {{audio CD}{audio CD}},
+ version = {{versioon}{versioon}},
+ url = {{aadress}{aadress}},
+ urlfrom = {{saadaval}{saadaval}},
+ urlseen = {{k\"{u}lastas}{k\"{u}lastas}},
+ inpreparation = {{ettevalmistamisel}{ettevalmistamisel}},
+ submitted = {{esitatud}{esitatud}},
+ forthcoming = {{tulevases}{tulevases}},
+ inpress = {{ajakirjanduses}{ajakirjanduses}},
+ prepublished = {{eelnevalt avaldatud} {eelnevalt avaldatud}},
+ citedas = {{edaspidi viidatud kui}{edaspidi viidatud kui}},
+ thiscite = {{eriti}{eriti}},
+ seenote = {{vaata m\"{a}rkus}{vaata m\"{a}rkus}},
+ quotedin = {{noteeritud}{noteeritud}},
+ idem = {{idem}{idem}}, % It its not necessary to translate Latin phrases.
+ 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 = {{vaata}{vaata}},
+ seealso = {{allikad}{allikad}},
+ backrefpage = {{viidatud lehel}{viidatud lehel}},
+ backrefpages = {{viidatud lehek\"{u}ljed}{viidatud lehek\"{u}ljed}},
+ january = {{jaanuar}{jaanuar}},
+ february = {{veebruar}{veebruar}},
+ march = {{m\"{a}rts}{m\"{a}rts}},
+ april = {{aprill}{aprill}},
+ may = {{mai}{mai}},
+ june = {{juuni}{juuni}},
+ july = {{juuli}{juuli}},
+ august = {{august}{august}},
+ september = {{september}{september}},
+ october = {{oktoober}{oktoober}},
+ november = {{november}{november}},
+ december = {{detsember}{detsember}},
+ basicjanuary = {{jaanuar}{jaanuar}},
+ basicfebruary = {{veebruar}{veebruar}},
+ basicmarch = {{m\"{a}rts}{m\"{a}rts}},
+ basicapril = {{aprill}{aprill}},
+ basicmay = {{mai}{mai}},
+ basicjune = {{juuni}{juuni}},
+ basicjuly = {{juuli}{juuli}},
+ basicaugust = {{august}{august}},
+ basicseptember = {{september}{september}},
+ basicoctober = {{oktoober}{oktoober}},
+ basicnovember = {{november}{november}},
+ basicdecember = {{detsember}{detsember}},
+ langamerican = {{Ameerika}{Ameerika}},
+ langbrazilian = {{Brasiilia}{Brasiilia}},
+ langcatalan = {{katalaani}{katalaani}},
+ langcroatian = {{horvaadi}{horvaadi}},
+ langczech = {{t\v{s}ehhii}{t\v{s}ehhii}},
+ langdanish = {{taani}{taani}},
+ langdutch = {{hollandi}{hollandi}},
+ langenglish = {{inglise}{inglise}},
+ langestonian = {{eesti}{eesti}},
+ langfinnish = {{soome}{soome}},
+ langfrench = {{prantsuse}{prantsuse}},
+ langgerman = {{saksa}{saksa}},
+ langgreek = {{kreeka}{kreeka}},
+ langitalian = {{itaalia}{itaalia}},
+ langlatin = {{ladina}{ladina}},
+ langnorwegian = {{norra}{norra}},
+ langpolish = {{poola}{poola}},
+ langportuguese = {{portugali}{portugali}},
+ langrussian = {{vene}{vene}},
+ langslovene = {{sloveeni}{sloveeni}},
+ langspanish = {{hispaania}{hispaania}},
+ langswedish = {{rootsi}{rootsi}},
+ fromamerican = {{alates USA}{alates USA}},
+ frombrazilian = {{alates Brasiilia}{: Brasiilia}},
+ fromcatalan = {{alates katalaani}{: Catalan}},
+ fromcroatian = {{alates horvaadi}{: Horvaatia}},
+ fromczech = {{alates T\v{s}ehhi}{: T\v{s}ehhi}},
+ fromdanish = {{Taani}{alates Taani}},
+ fromdutch = {{alates Hollandi}{: Hollandi}},
+ fromenglish = {{ingliskeelsest}{ingliskeelsest}},
+ fromestonian = {{eesti kielest\"a}{eesti kielest\"a}},
+ fromfinnish = {{Soome}{alates Soome}},
+ fromfrench = {{alates Prantsuse}{alates prantsuse}},
+ fromgerman = {{, saksa keeles}{: Saksa}},
+ fromgreek = {{alates Kreeka}{alates Kreeka}},
+ fromitalian = {{alates Itaalia}{: Itaalia}},
+ fromlatin = {{alates Ladina}{: Ladina}},
+ fromnorwegian = {{alates Norra}{: Norra}},
+ frompolish = {{alates Poola} {alates Poola}},
+ fromportuguese = {{alates Portugali}{: Portugali}},
+ fromrussian = {{alates Vene}{: vene}},
+ fromslovene = {{alates sloveeni}{: sloveeni}},
+ fromspanish = {{alates Hispaania}{alates Hispaania}},
+ fromswedish = {{alates Rootsi}{: Rootsi}},
+ countryde = {{Saksamaa}{DE}},
+ countryeu = {{Euroopa Liit}{EL}},
+ countryep = {{Euroopa Liidu}{EP}},
+ countryfr = {{Prantsusmaa}{FR}},
+ countryuk = {{Suurbritannia}{GB}},
+ countryus = {{Ameerika}{US}},
+ patent = {{patendi}{pat\adddot}},
+ patentde = {{Saksa patendi}{Saksa pat\adddot}},
+ patenteu = {{Euroopa patendi}{Euroopa pat\adddot}},
+ patentfr = {{Prantsuse patent}{Prantsuse pat\adddot}},
+ patentuk = {{Briti patendi}{Briti pat\adddot}},
+ patentus = {{U.S\adddotspace patent}{U.S\adddotspace pat\adddot}},
+ patreq = {{patendi taotluse}{pat\adddot\ req\adddot}},
+ patreqde = {{Saksa patendi taotluse}{Saksa pat\adddot\ req\adddot}},
+ patreqeu = {{Euroopa patendi taotluse}{Euroopa pat\adddot\ req\adddot}},
+ patreqfr = {{Prantsuse patent taotluse}{Prantsuse pat\adddot\ req\adddot}},
+ patrequk = {{Briti patendi taotluse}{Briti pat\adddot\ req\adddot}},
+ patrequs = {{U.S\adddotspace patent request}{U.S\adddotspace pat\adddot\ req\adddot}},
+ file = {{faili}{faili}},
+ library = {{raamatukogu}{raamatukogu}},
+ abstract = {{abstraktne}{abstraktne}},
+ annotation = {{annotatsioon}{annotatsioon}},
+ commonera = {{meie ajaarvamise j\"argi}{m\adddot a\adddot j}},
+ beforecommonera = {{enne meie ajaarvamist}{e\adddot m\adddot a}},
+ annodomini = {{p\"arast Kristust}{pKr}},
+ beforechrist = {{enne Kristust}{eKr}},
+% circa = {{}{}},% FIXME: missing
+% spring = {{}{}},% FIXME: missing
+% summer = {{}{}},% FIXME: missing
+% autumn = {{}{}},% FIXME: missing
+% winter = {{}{}},% FIXME: missing
+ am = {{AM}{AM}},
+ pm = {{PM}{PM}},
+}
+
+\protected\gdef\lbx@fi@mkbibmonthbasic#1{%
+ \ifcase0#1\relax
+ #1\BibliographyWarning{Month out of range}%
+ \or\abx@bibmonth{basicjanuary}%
+ \or\abx@bibmonth{basicfebruary}%
+ \or\abx@bibmonth{basicmarch}%
+ \or\abx@bibmonth{basicapril}%
+ \or\abx@bibmonth{basicmay}%
+ \or\abx@bibmonth{basicjune}%
+ \or\abx@bibmonth{basicjuly}%
+ \or\abx@bibmonth{basicaugust}%
+ \or\abx@bibmonth{basicseptember}%
+ \or\abx@bibmonth{basicoctober}%
+ \or\abx@bibmonth{basicnovember}%
+ \or\abx@bibmonth{basicdecember}%
+ \else
+ #1\BibliographyWarning{Month out of range}%
+ \fi}%
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx
index 9d35ba43d07..6b987a3127d 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx
@@ -28,7 +28,6 @@
% dashes: may be either \textendash or \textemdash
\protected\def\bibrangedash{%
\textendash\penalty\hyphenpenalty}% breakable dash
- \protected\def\bibdatedash{\bibrangedash}%
\let\finalandcomma=\empty
\let\finalandsemicolon=\empty
\protected\def\mkbibordinal#1{\stripzeros{#1}\adddot}%
@@ -47,19 +46,23 @@
\iffieldundef{#1}{}{\space}}%
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\space}}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\stripzeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
- {\mkdatezeros{\thefield{#3}}\adddot
+ {\mkdayzeros{\thefield{#3}}\adddot
\iffieldundef{#2}{}{\thinspace}}%
\iffieldundef{#2}
{}
- {\mkdatezeros{\thefield{#2}}%
+ {\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#1}
{}
{\iffieldundef{#3}{/}{\adddot\thinspace}}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\mkdatezeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
\savecommand\lbx@lfromlang
\savecommand\lbx@sfromlang
\def\lbx@lfromlang{%
@@ -75,6 +78,38 @@
\iffieldequalstr{entrytype}{article}
{}
{\printtext{\bibstring{in}\intitlepunct}}}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
\UndeclareBibliographyExtras{%
@@ -449,6 +484,7 @@
langdanish = {{tanska}{tanska}},
langdutch = {{hollanti}{hollanti}},
langenglish = {{englanti}{englanti}},
+% langestonian = {{}{}},% FIXME: missing
langfinnish = {{suomi}{suomi}},
langfrench = {{ranska}{ranska}},
langgerman = {{saksa}{saksa}},
@@ -470,6 +506,7 @@
fromdanish = {{tanskan kielest\"a}{tanskan kielest\"a}},
fromdutch = {{hollannin kielest\"a}{hollannin kielest\"a}},
fromenglish = {{englannin kielest\"a}{englannin kielest\"a}},
+% fromestonian = {{}{}},% FIXME: missing
fromfinnish = {{suomen kielest\"a}{suomen kielest\"a}},
fromfrench = {{ranskan kielest\"a}{ranskan kielest\"a}},
fromgerman = {{saksan kielest\"a}{saksan kielest\"a}},
@@ -505,6 +542,17 @@
library = {{kirjasto}{kirjasto}},
abstract = {{tiivistelm\"a}{tiivistelm\"a}},
annotation = {{selitykset}{selitykset}},% FIXME: unsure
+ commonera = {{j\"alkeen ajanlaskun alun}{jaa\adddot}},
+ beforecommonera = {{ennen ajanlaskun alkua}{eaa\adddot}},
+ annodomini = {{j\"alkeen Kristuksen syntym\"an}{jKr\adddot}},
+ beforechrist = {{ennen Kristuksen syntym\"a\"a}{eKr\adddot}},
+% circa = {{}{}},% FIXME: missing
+% spring = {{}{}},% FIXME: missing
+% summer = {{}{}},% FIXME: missing
+% autumn = {{}{}},% FIXME: missing
+% winter = {{}{}},% FIXME: missing
+ am = {{ap\adddot}{ip\adddot}},
+ pm = {{ap\adddot}{ip\adddot}},
}
\protected\gdef\lbx@fi@mkbibmonthbasic#1{%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx
index 298d948840b..becb278054c 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx
@@ -8,7 +8,6 @@
\DeclareBibliographyExtras{%
\protected\def\bibrangedash{%
\textendash\penalty\hyphenpenalty}% breakable dash
- \protected\def\bibdatedash{\bibrangedash}%
\let\finalandcomma=\empty
\let\finalandsemicolon=\empty
\def\mkbibordinal{\mkbibmascord}%
@@ -27,17 +26,21 @@
{}
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\space}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\stripzeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
- {\mkdatezeros{\thefield{#3}}%
+ {\mkdayzeros{\thefield{#3}}%
\iffieldundef{#2}{}{/}}%
\iffieldundef{#2}
{}
- {\mkdatezeros{\thefield{#2}}%
+ {\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#1}{}{/}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\mkdatezeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
\providecommand*{\FDP@thinspace}{\addnbthinspace}% FDP@* -> frenchb.ldf (babel)
\providecommand*{\FDP@colonspace}{\addnbspace}%
\def\abx@semicolon{%
@@ -63,6 +66,38 @@
\textsc{\textnohyphenation{#1}}}%
\def\mkbibordedition{\mkbibfemord}%
\def\mkbibordseries{\mkbibfemord}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
\UndeclareBibliographyExtras{%
@@ -426,6 +461,7 @@
langdanish = {{danois}{danois}},
langdutch = {{n\'eerlandais}{n\'eerlandais}},
langenglish = {{anglais}{anglais}},
+% langestonian = {{}{}},% FIXME: missing
langfinnish = {{finnois}{finnois}},
langfrench = {{fran\c{c}ais}{fran\c{c}ais}},
langgerman = {{allemand}{allemand}},
@@ -447,6 +483,7 @@
fromdanish = {{du danois}{du danois}},
fromdutch = {{du n\'eerlandais}{du n\'eerlandais}},
fromenglish = {{de l'anglais}{de l'anglais}},
+% fromestonian = {{}{}},% FIXME: missing
fromfinnish = {{du finnois}{du finnois}},
fromfrench = {{du fran\c{c}ais}{du fran\c{c}ais}},
fromgerman = {{de l'allemand}{de l'allemand}},
@@ -482,6 +519,17 @@
library = {{biblioth\`eque}{biblioth\adddot}},
abstract = {{r\'esum\'e}{r\'es\adddot}},
annotation = {{annotations}{annotations}},
+ commonera = {{de l’\`ere commune}{EC}},
+ beforecommonera = {{avant l’\`ere commune}{AEC}},
+ annodomini = {{apr\`es J\'esus-Christ}{ap\adddotspace J\adddot-C\adddot}},
+ beforechrist = {{avant J\'esus-Christ}{av\adddotspace J\adddot-C\adddot}},
+% circa = {{}{}},% FIXME: missing
+% spring = {{}{}},% FIXME: missing
+% summer = {{}{}},% FIXME: missing
+% autumn = {{}{}},% FIXME: missing
+% winter = {{}{}},% FIXME: missing
+ am = {{AM}{AM}},
+ pm = {{PM}{PM}},
}
\gdef\lbx@fr@ordinal#1#2{%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx
index c5abfb2baba..8d485fde33d 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx
@@ -7,7 +7,6 @@
\DeclareCapitalPunctuation{.:!?}%
\protected\def\bibrangedash{%
\textendash\penalty\hyphenpenalty}% breakable dash
- \protected\def\bibdatedash{\bibrangedash}%
\let\finalandcomma=\empty
\let\finalandsemicolon=\empty
\protected\def\mkbibordinal#1{\stripzeros{#1}\adddot}%
@@ -23,19 +22,23 @@
{}
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\space}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\stripzeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
- {\mkdatezeros{\thefield{#3}}\adddot
+ {\mkdayzeros{\thefield{#3}}\adddot
\iffieldundef{#2}{}{\thinspace}}%
\iffieldundef{#2}
{}
- {\mkdatezeros{\thefield{#2}}%
+ {\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#1}
{}
{\iffieldundef{#3}{/}{\adddot\thinspace}}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\mkdatezeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
\savecommand\lbx@lfromlang
\savecommand\lbx@sfromlang
\def\lbx@lfromlang{%
@@ -46,6 +49,38 @@
\iffieldundef{origlanguage}
{}
{\bibstring{from\thefield{origlanguage}}\space}}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
\UndeclareBibliographyExtras{%
@@ -59,24 +94,24 @@
shorthands = {{Sigelverzeichnis}{Sigel}},
editor = {{Herausgeber}{Hrsg\adddot}},
editors = {{Herausgeber}{Hrsg\adddot}},
- compiler = {{Herausgeber}{Hrsg\adddot}},
- compilers = {{Herausgeber}{Hrsg\adddot}},
+ compiler = {{Kompilator}{Komp\adddot}},
+ compilers = {{Kompilatoren}{Komp\adddot}},
redactor = {{Bearbeiter}{Bearb\adddot}},
redactors = {{Bearbeiter}{Bearb\adddot}},
reviser = {{\"Uberarbeiter}{\"Uberarb\adddot}},
revisers = {{\"Uberarbeiter}{\"Uberarb\adddot}},
founder = {{Begr\"under}{Begr\adddot}},
founders = {{Begr\"under}{Begr\adddot}},
- continuator = {{Fortf\"urung}{Fortf\adddot}},
- continuators = {{Fortf\"urung}{Fortf\adddot}},
- collaborator = {{Mitarbeit}{Mitarb\adddot}},
- collaborators = {{Mitarbeit}{Mitarb\adddot}},
+ continuator = {{Fortf\"uhrer}{Fortf\adddot}},
+ continuators = {{Fortf\"uhrer}{Fortf\adddot}},
+ collaborator = {{Mitarbeiter}{Mitarb\adddot}},
+ collaborators = {{Mitarbeiter}{Mitarb\adddot}},
translator = {{\"Ubersetzer}{\"Ubers\adddot}},
translators = {{\"Ubersetzer}{\"Ubers\adddot}},
- commentator = {{Kommentar}{Komm\adddot}},
- commentators = {{Kommentar}{Komm\adddot}},
- annotator = {{Erl\"auterungen}{Erl\"aut\adddot}},
- annotators = {{Erl\"auterungen}{Erl\"aut\adddot}},
+ commentator = {{Kommentator}{Komm\adddot}},
+ commentators = {{Kommentatoren}{Komm\adddot}},
+ annotator = {{Kommentator}{Komm\adddot}},
+ annotators = {{Kommentatoren}{Komm\adddot}},
commentary = {{Kommentar}{Komm\adddot}},
annotations = {{Erl\"auterungen}{Erl\"aut\adddot}},
introduction = {{Einleitung}{Einl\adddot}},
@@ -86,93 +121,93 @@
{Hrsg\adddot\ und \"Ubers\adddot}},
editorstr = {{Herausgeber und \"Ubersetzer}%
{Hrsg\adddot\ und \"Ubers\adddot}},
- editorco = {{Herausgeber und Kommentar}%
+ editorco = {{Herausgeber und Kommentator}%
{Hrsg\adddot\ und Komm\adddot}},
- editorsco = {{Herausgeber und Kommentar}%
+ editorsco = {{Herausgeber und Kommentatoren}%
{Hrsg\adddot\ und Komm\adddot}},
- editoran = {{Herausgeber und Erl\"auterungen}%
- {Hrsg\adddot\ und Erl\"aut\adddot}},
- editorsan = {{Herausgeber und Erl\"auterungen}%
- {Hrsg\adddot\ und Erl\"aut\adddot}},
- editorin = {{Herausgeber und Einleitung}%
+ editoran = {{Herausgeber und Kommentator}%
+ {Hrsg\adddot\ und Komm\adddot}},
+ editorsan = {{Herausgeber und Kommentatoren}%
+ {Hrsg\adddot\ und Komm\adddot}},
+ editorin = {{Herausgabe und Einleitung}%
{Hrsg\adddot\ und Einl\adddot}},
editorsin = {{Herausgeber und Einleitung}%
{Hrsg\adddot\ und Einl\adddot}},
editorfo = {{Herausgeber und Vorwort}%
{Hrsg\adddot\ und Vorw\adddot}},
- editorsfo = {{Herausgeber und Vorwort}%
+ editorsfo = {{Herausgabe und Vorwort}%
{Hrsg\adddot\ und Vorw\adddot}},
- editoraf = {{Herausgeber und Nachwort}%
+ editoraf = {{Herausgabe und Nachwort}%
{Hrsg\adddot\ und Nachw\adddot}},
- editorsaf = {{Herausgeber und Nachwort}%
+ editorsaf = {{Herausgabe und Nachwort}%
{Hrsg\adddot\ und Nachw\adddot}},
- editortrco = {{Herausgeber, \"Ubersetzer und Kommentar}%
+ editortrco = {{Herausgeber, \"Ubersetzer und Kommentator}%
+ {Hrsg., \"Ubers\adddot\ und Komm\adddot}},
+ editorstrco = {{Herausgeber, \"Ubersetzer und Kommentatoren}%
+ {Hrsg., \"Ubers\adddot\ und Komm\adddot}},
+ editortran = {{Herausgeber, \"Ubersetzer und Kommentator}%
{Hrsg., \"Ubers\adddot\ und Komm\adddot}},
- editorstrco = {{Herausgeber, \"Ubersetzer und Kommentar}%
+ editorstran = {{Herausgeber, \"Ubersetzer und Kommentatoren}%
{Hrsg., \"Ubers\adddot\ und Komm\adddot}},
- editortran = {{Herausgeber, \"Ubersetzer und Erl\"auterungen}%
- {Hrsg., \"Ubers\adddot\ und Erl\"aut\adddot}},
- editorstran = {{Herausgeber, \"Ubersetzer und Erl\"auterungen}%
- {Hrsg., \"Ubers\adddot\ und Erl\"aut\adddot}},
- editortrin = {{Herausgeber, \"Ubersetzer und Einleitung}%
+ editortrin = {{Herausgabe, \"Ubersetzung und Einleitung}%
{Hrsg., \"Ubers\adddot\ und Einl\adddot}},
- editorstrin = {{Herausgeber, \"Ubersetzer und Einleitung}%
+ editorstrin = {{Herausgabe, \"Ubersetzung und Einleitung}%
{Hrsg., \"Ubers\adddot\ und Einl\adddot}},
- editortrfo = {{Herausgeber, \"Ubersetzer und Vorwort}%
+ editortrfo = {{Herausgabe, \"Ubersetzung und Vorwort}%
{Hrsg., \"Ubers\adddot\ und Vorw\adddot}},
- editorstrfo = {{Herausgeber, \"Ubersetzer und Vorwort}%
+ editorstrfo = {{Herausgabe, \"Ubersetzung und Vorwort}%
{Hrsg., \"Ubers\adddot\ und Vorw\adddot}},
- editortraf = {{Herausgeber, \"Ubersetzer und Nachwort}%
+ editortraf = {{Herausgabe, \"Ubersetzung und Nachwort}%
{Hrsg., \"Ubers\adddot\ und Nachw\adddot}},
- editorstraf = {{Herausgeber, \"Ubersetzer und Nachwort}%
+ editorstraf = {{Herausgabe, \"Ubersetzung und Nachwort}%
{Hrsg., \"Ubers\adddot\ und Nachw\adddot}},
- editorcoin = {{Herausgeber, Kommentar und Einleitung}%
+ editorcoin = {{Herausgabe, Kommentar und Einleitung}%
{Hrsg., Komm\adddot\ und Einl\adddot}},
- editorscoin = {{Herausgeber, Kommentar und Einleitung}%
+ editorscoin = {{Herausgabe, Kommentar und Einleitung}%
{Hrsg., Komm\adddot\ und Einl\adddot}},
- editorcofo = {{Herausgeber, Kommentar und Vorwort}%
+ editorcofo = {{Herausgabe, Kommentar und Vorwort}%
{Hrsg., Komm\adddot\ und Vorw\adddot}},
- editorscofo = {{Herausgeber, Kommentar und Vorwort}%
+ editorscofo = {{Herausgabe, Kommentar und Vorwort}%
{Hrsg., Komm\adddot\ und Vorw\adddot}},
- editorcoaf = {{Herausgeber, Kommentar und Nachwort}%
+ editorcoaf = {{Herausgabe, Kommentar und Nachwort}%
{Hrsg., Komm\adddot\ und Nachw\adddot}},
- editorscoaf = {{Herausgeber, Kommentar und Nachwort}%
+ editorscoaf = {{Herausgabe, Kommentar und Nachwort}%
{Hrsg., Komm\adddot\ und Nachw\adddot}},
- editoranin = {{Herausgeber, Erl\"auterungen und Einleitung}%
+ editoranin = {{Herausgabe, Erl\"auterungen und Einleitung}%
{Hrsg., Erl\"aut\adddot\ und Einl\adddot}},
- editorsanin = {{Herausgeber, Erl\"auterungen und Einleitung}%
+ editorsanin = {{Herausgabe, Erl\"auterungen und Einleitung}%
{Hrsg., Erl\"aut\adddot\ und Einl\adddot}},
- editoranfo = {{Herausgeber, Erl\"auterungen und Vorwort}%
+ editoranfo = {{Herausgabe, Erl\"auterungen und Vorwort}%
{Hrsg., Erl\"aut\adddot\ und Vorw\adddot}},
- editorsanfo = {{Herausgeber, Erl\"auterungen und Vorwort}%
+ editorsanfo = {{Herausgabe, Erl\"auterungen und Vorwort}%
{Hrsg., Erl\"aut\adddot\ und Vorw\adddot}},
- editoranaf = {{Herausgeber, Erl\"auterungen und Nachwort}%
+ editoranaf = {{Herausgabe, Erl\"auterungen und Nachwort}%
{Hrsg., Erl\"aut\adddot\ und Nachw\adddot}},
- editorsanaf = {{Herausgeber, Erl\"auterungen und Nachwort}%
+ editorsanaf = {{Herausgabe, Erl\"auterungen und Nachwort}%
{Hrsg., Erl\"aut\adddot\ und Nachw\adddot}},
- editortrcoin = {{Herausgeber, \"Ubersetzer, Kommentar und Einleitung}%
+ editortrcoin = {{Herausgabe, \"Ubersetzung, Kommentar und Einleitung}%
{Hrsg., \"Ubers., Komm\adddot\ und Einl\adddot}},
- editorstrcoin = {{Herausgeber, \"Ubersetzer, Kommentar und Einleitung}%
+ editorstrcoin = {{Herausgabe, \"Ubersetzung, Kommentar und Einleitung}%
{Hrsg., \"Ubers., Komm\adddot\ und Einl\adddot}},
- editortrcofo = {{Herausgeber, \"Ubersetzer, Kommentar und Vorwort}%
+ editortrcofo = {{Herausgabe, \"Ubersetzung, Kommentar und Vorwort}%
{Hrsg., \"Ubers., Komm\adddot\ und Vorw\adddot}},
- editorstrcofo = {{Herausgeber, \"Ubersetzer, Kommentar und Vorwort}%
+ editorstrcofo = {{Herausgabe, \"Ubersetzung, Kommentar und Vorwort}%
{Hrsg., \"Ubers., Komm\adddot\ und Vorw\adddot}},
- editortrcoaf = {{Herausgeber, \"Ubersetzer, Kommentar und Nachwort}%
+ editortrcoaf = {{Herausgabe, \"Ubersetzung, Kommentar und Nachwort}%
{Hrsg., \"Ubers., Komm\adddot\ und Nachw\adddot}},
- editorstrcoaf = {{Herausgeber, \"Ubersetzer, Kommentar und Nachwort}%
+ editorstrcoaf = {{Herausgabe, \"Ubersetzung, Kommentar und Nachwort}%
{Hrsg., \"Ubers., Komm\adddot\ und Nachw\adddot}},
- editortranin = {{Herausgeber, \"Ubersetzer, Erl\"auterungen und Einleitung}%
+ editortranin = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Einleitung}%
{Hrsg., \"Ubers., Erl\"aut\adddot\ und Einl\adddot}},
- editorstranin = {{Herausgeber, \"Ubersetzer, Erl\"auterungen und Einleitung}%
+ editorstranin = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Einleitung}%
{Hrsg., \"Ubers., Erl\"aut\adddot\ und Einl\adddot}},
- editortranfo = {{Herausgeber, \"Ubersetzer, Erl\"auterungen und Vorwort}%
+ editortranfo = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Vorwort}%
{Hrsg., \"Ubers., Erl\"aut\adddot\ und Vorw\adddot}},
- editorstranfo = {{Herausgeber, \"Ubersetzer, Erl\"auterungen und Vorwort}%
+ editorstranfo = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Vorwort}%
{Hrsg., \"Ubers., Erl\"aut\adddot\ und Vorw\adddot}},
- editortranaf = {{Herausgeber, \"Ubersetzer, Erl\"auterungen und Nachwort}%
+ editortranaf = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Nachwort}%
{Hrsg., \"Ubers., Erl\"aut\adddot\ und Nachw\adddot}},
- editorstranaf = {{Herausgeber, \"Ubersetzer, Erl\"auterungen und Nachwort}%
+ editorstranaf = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Nachwort}%
{Hrsg., \"Ubers., Erl\"aut\adddot\ und Nachw\adddot}},
translatorco = {{\"Ubersetzung und Kommentar}%
{\"Ubers\adddot\ und Komm\adddot}},
@@ -223,7 +258,7 @@
bycompiler = {{kompiliert von}{komp\adddotspace von}},
byredactor = {{bearbeitet von}{bearb\adddotspace von}},
byreviser = {{\"uberarbeitet von}{\"uberarb\adddotspace von}},
-% byreviewer = {{}{}},% FIXME: missing
+ byreviewer = {{rezensiert von}{rez\adddotspace von}},
byfounder = {{begr\"undet von}{begr\adddotspace von}},
bycontinuator = {{fortgef\"urt von}{fortgef\adddotspace von}},
bycollaborator = {{unter Mitarbeit von}{unter Mitarb\adddotspace von}},
@@ -308,7 +343,7 @@
andmore = {{u.\,a\adddot}{u.\,a\adddot}},
volume = {{Band}{Bd\adddot}},
volumes = {{B\"ande}{Bde\adddot}},
- involumes = {{in}{in}},% FIXME: unsure
+ involumes = {{in}{in}},
jourvol = {{Jahrgang}{Jg\adddot}},
jourser = {{Serie}{Ser\adddot}},
book = {{Buch}{Buch}},
@@ -320,15 +355,15 @@
reprint = {{Nachdruck}{Nachdr\adddot}},
reprintof = {{Nachdruck von}{Nachdr\adddotspace von}},
reprintas = {{Nachdruck unter dem Titel}{Nachdr\adddotspace unter dem Titel}},
-% reprintfrom = {{}{}},% FIXME: missing
-% translationof = {{}{}},% FIXME: missing
-% translationas = {{}{}},% FIXME: missing
+ reprintfrom = {{Nachdruck aus}{Nachdr\adddotspace aus}},
+ translationof = {{\"Ubersetzung von}{\"Ubers\adddotspace von}},
+ translationas = {{\"Ubersetzt unter dem Titel}{\"Ubers\adddotspace unter dem Titel}},
% translationfrom = {{}{}},% FIXME: missing
-% reviewof = {{}{}},% FIXME: missing
-% origpubas = {{}{}},% FIXME: missing
-% origpubin = {{}{}},% FIXME: missing
-% astitle = {{}{}},% FIXME: missing
-% bypublisher = {{}{}},% FIXME: missing
+ reviewof = {{Rezension von}{Rez\adddotspace von}},
+ origpubas = {{Zuerst publiziert als}{Zuerst publ\adddotspace als}},
+ origpubin = {{Zuerst publiziert in}{Zuerst publ\adddotspace in}},
+ astitle = {{unter dem Titel}{unter dem Titel}},
+ bypublisher = {{von}{von}},
page = {{Seite}{S\adddot}},
pages = {{Seiten}{S\adddot}},
column = {{Spalte}{Sp\adddot}},
@@ -349,7 +384,7 @@
chapter = {{Kapitel}{Kap\adddot}},
mathesis = {{Magisterarbeit}{Magisterarb\adddot}},
phdthesis = {{Dissertation}{Diss\adddot}},
-% candthesis = {{}{}},% FIXME: missing
+ candthesis = {{Qualifikationsschrift}{Qualifikationsschr\adddot}},
resreport = {{Forschungsbericht}{Forschungsber\adddot}},
techreport = {{Technischer Bericht}{Techn\adddotspace Ber\adddot}},
software = {{Com\-pu\-ter-Soft\-ware}{Soft\-ware}},
@@ -357,7 +392,7 @@
audiocd = {{Audio-CD}{Audio-CD}},
version = {{Version}{Version}},
url = {{Adresse}{Adresse}},
-% urlfrom = {{}{}},% FIXME: missing
+ urlfrom = {{Abgerufen unter}{Abger\adddotspace unter}},
urlseen = {{besucht am}{besucht am}},
inpreparation = {{in Vorbereitung}{in Vorbereitung}},
submitted = {{eingereicht}{eingereicht}},
@@ -401,9 +436,9 @@
december = {{Dezember}{Dez\adddot}},
langamerican = {{Amerikanisch}{Amerikanisch}},
langbrazilian = {{Brasilianisch}{Brasilianisch}},
-% langcatalan = {{}{}},% FIXME: missing
+ langcatalan = {{Katalanisch}{Katalanisch}},
langcroatian = {{Kroatisch}{Kroatisch}},
-% langczech = {{}{}},% FIXME: missing
+ langczech = {{Tschechisch}{Tschechisch}},
langdanish = {{D\"anisch}{D\"anisch}},
langdutch = {{Niederl\"andisch}{Niederl\"andisch}},
langenglish = {{Englisch}{Englisch}},
@@ -414,17 +449,17 @@
langitalian = {{Italienisch}{Italienisch}},
langlatin = {{Lateinisch}{Lateinisch}},
langnorwegian = {{Norwegisch}{Norwegisch}},
-% langpolish = {{}{}},% FIXME: missing
+ langpolish = {{Polnisch}{Polnisch}},
langportuguese = {{Portugiesisch}{Portugiesisch}},
langrussian = {{Russisch}{Russisch}},
-% langslovene = {{}{}},% FIXME: missing
+ langslovene = {{Slowenisch}{Slowenisch}},
langspanish = {{Spanisch}{Spanisch}},
langswedish = {{Schwedisch}{Schwedisch}},
fromamerican = {{aus dem Amerikanischen}{aus dem Amerikanischen}},
frombrazilian = {{aus dem Brasilianischen}{aus dem Brasilianischen}},
-% fromcatalan = {{}{}},% FIXME: missing
+ fromcatalan = {{aus dem Katalanischen}{aus dem Katalanischen}},
fromcroatian = {{aus dem Kroatischen}{aus dem Kroatischen}},
-% fromczech = {{}{}},% FIXME: missing
+ fromczech = {{aus dem Tschechischen}{aus dem Tschechischen}},
fromdanish = {{aus dem D\"anischen}{aus dem D\"anischen}},
fromdutch = {{aus dem Niederl\"andischen}{aus dem Niederl\"andischen}},
fromenglish = {{aus dem Englischen}{aus dem Englischen}},
@@ -435,10 +470,10 @@
fromitalian = {{aus dem Italienischen}{aus dem Italienischen}},
fromlatin = {{aus dem Lateinischen}{aus dem Lateinischen}},
fromnorwegian = {{aus dem Norwegischen}{aus dem Norwegischen}},
-% frompolish = {{}{}},% FIXME: missing
+ frompolish = {{aus dem Polnischen}{aus dem Polnischen}},
fromportuguese = {{aus dem Portugiesischen}{aus dem Portugiesischen}},
fromrussian = {{aus dem Russischen}{aus dem Russischen}},
-% fromslovene = {{}{}},% FIXME: missing
+ fromslovene = {{aus dem Slowenischen}{aus dem Slowenischen}},
fromspanish = {{aus dem Spanischen}{aus dem Spanischen}},
fromswedish = {{aus dem Schwedischen}{aus dem Schwedischen}},
countryde = {{Deutschland}{DE}},
@@ -463,6 +498,17 @@
library = {{Bibliothek}{Bibliothek}},
abstract = {{Zusammenfassung}{Zusammenfassung}},
annotation = {{Anmerkungen}{Anmerkungen}},
+ commonera = {{unserer Zeitrechnung}{u\adddotspace Z\adddot}},
+ beforecommonera = {{vor unserer Zeitrechnung}{v\adddotspace u\adddotspace Z\adddot}},
+ annodomini = {{n\adddotspace Chr\adddot}{n\adddotspace Chr\adddot}},
+ beforechrist = {{v\adddotspace Chr\adddot}{v\adddotspace Chr\adddot}},
+ circa = {{circa}{ca.}},
+ spring = {{Fr\"uhling}{Fr\adddot}},
+ summer = {{Sommer}{So\adddot}},
+ autumn = {{Herbst}{He\adddot}},
+ winter = {{Winter}{Wi\adddot}},
+ am = {{vorm\adddot}{vorm\adddot}},
+ pm = {{nachm\adddot}{nachm\adddot}},
}
\DeclareHyphenationExceptions{%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx
index 2faa6b00ad2..f397ce37454 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx
@@ -43,7 +43,6 @@
\let\finalandcomma=\empty
\protected\def\bibrangedash{%
\textendash\penalty\hyphenpenalty}% breakable dash
- \protected\def\bibdatedash{\bibrangedash}%
\let\finalandcomma=\empty
\let\finalandsemicolon=\empty
\protected\def\mkbibordinal{\mkbibmascord}%
@@ -61,23 +60,55 @@
\iffieldundef{#1}{}{\space}}%
\iffieldbibstring{#1}
{\bibstring{\thefield{#1}}}
- {\stripzeros{\thefield{#1}}}}%
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
- {\mkdatezeros{\thefield{#3}}%
+ {\mkdayzeros{\thefield{#3}}%
\iffieldundef{#2}{}{/}}%
\iffieldundef{#2}
{}
- {\mkdatezeros{\thefield{#2}}%
+ {\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#1}{}{/}}%
\iffieldbibstring{#1}
{\bibstring{\thefield{#1}}}
- {\mkdatezeros{\thefield{#1}}}}%
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
\savecommand\mkbibordedition
\savecommand\mkbibordseries
\def\mkbibordedition{\mkbibfemord}%
\def\mkbibordseries{\mkbibfemord}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
\UndeclareBibliographyExtras{%
@@ -430,6 +461,7 @@
langdanish = {{Δανέζικα}{Δανέζικα}},
langdutch = {{Ολλανδικά}{Ολλανδικά}},
langenglish = {{Αγγλικά}{Αγγλικά}},
+% langestonian = {{}{}},% FIXME: missing
% langfinnish = {{}{}},% FIXME: missing
langfrench = {{Γαλλικά}{Γαλλικά}},
langgerman = {{Γερμανικά}{Γερμανικά}},
@@ -451,6 +483,7 @@
fromdanish = {{από τα Δανέζικα}{από τα Δανέζικα}},
fromdutch = {{από τα Ολλανδικά}{από τα Ολλανδικά}},
fromenglish = {{από τα Αγγλικά}{από τα Αγγλικά}},
+% fromestonian = {{}{}},% FIXME: missing
% fromfinnish = {{}{}},% FIXME: missing
fromfrench = {{από τα Γαλλικά}{από τα Γαλλικά}},
fromgerman = {{από τα Γερμανικά}{από τα Γερμανικά}},
@@ -498,6 +531,17 @@
library = {{βιβλιοθήκη}{βιβλιοθήκη}},
abstract = {{περίληψη}{περίληψη}},
annotation = {{σχολιασμοί}{σχολιασμοί}},
+ commonera = {{Κοινή Χρονολογία}{KX}},
+ beforecommonera = {{πριν από την Κοινή Χρονολογία}{π\adddot Κ\adddot Χ\adddot}},
+ annodomini = {{μετά Χριστόν}{μ\adddot Χ\adddot}},
+ beforechrist = {{προ Χριστού}{π\adddot Χ\adddot}},
+% circa = {{}{}},% FIXME: missing
+% spring = {{}{}},% FIXME: missing
+% summer = {{}{}},% FIXME: missing
+% autumn = {{}{}},% FIXME: missing
+% winter = {{}{}},% FIXME: missing
+ am = {{π\adddot μ\adddot}{π\adddot μ\adddot}},
+ pm = {{μ\adddot μ\adddot}{μ\adddot μ\adddot}},
}
\protected\gdef\lbx@gr@mkbibmonth#1{%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx
index 960d3ace7e4..3085110ed7f 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx
@@ -13,7 +13,6 @@
\DeclareBibliographyExtras{%
\protected\def\bibrangedash{%
\textendash\penalty\hyphenpenalty}% breakable dash
- \protected\def\bibdatedash{\bibrangedash}%
\let\finalandcomma=\empty
\let\finalandsemicolon=\empty
\protected\def\mkbibordinal#1{\stripzeros{#1}\adddot}%
@@ -29,16 +28,20 @@
{}
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\space}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\stripzeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
- {\mkdatezeros{\thefield{#3}}\adddot}%
+ {\mkdayzeros{\thefield{#3}}\adddot}%
\iffieldundef{#2}
{}
- {\mkdatezeros{\thefield{#2}}%
+ {\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#1}{}{\adddot}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\mkdatezeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
% Later, it would be more elegant to reverse the order of the name and the localized
% bibstrings, in order to avoid problems with regard to declension. This has to be done
% in a coordinated manner, however, and a lot of macros would have to be redefined
@@ -52,6 +55,38 @@
% \setunit{\addspace}%
% \bibstring{bytranslator}%
% }}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
%\UndeclareBibliographyExtras{%
@@ -349,6 +384,7 @@
langdanish = {{danska}{danska}},
langdutch = {{hollenska}{hollenska}},
langenglish = {{enska}{enska}},
+% langestonian = {{}{}},% FIXME: missing
langfinnish = {{finnska}{finnska}},
langfrench = {{franska}{franska}},
langgerman = {{\th\'yska}{\th\'yska}},
@@ -370,6 +406,7 @@
fromdanish = {{\'ur d\"onsku}{\'ur d\"onsku}},
fromdutch = {{\'ur hollensku}{\'ur hollensku}},
fromenglish = {{\'ur ensku}{\'ur ensku}},
+% fromestonian = {{}{}},% FIXME: missing
fromfinnish = {{\'ur finnsku}{\'ur finnsku}},
fromfrench = {{\'ur fr\"onsku}{\'ur fr\"onsku}},
fromgerman = {{\'ur \th\'ysku}{\'ur \th\'ysku}},
@@ -405,6 +442,17 @@
library = {{safn}{safn}},
abstract = {{\'utdr\'attur}{\'utdr\'attur}},
annotation = {{athugagrein}{athugagrein}},
+ commonera = {{kristi\th t\'{\i}matal}{l\adddot t\adddot}},
+ beforecommonera = {{fyrir kristi\th t\'{\i}matal}{f\adddot l\adddot t\adddot}},
+ annodomini = {{eftir Krist}{e\adddot Kr\adddot}},
+ beforechrist = {{fyrir Krist}{f\adddot Kr\adddot}},
+% circa = {{}{}},% FIXME: missing
+% spring = {{}{}},% FIXME: missing
+% summer = {{}{}},% FIXME: missing
+% autumn = {{}{}},% FIXME: missing
+% winter = {{}{}},% FIXME: missing
+ am = {{f\adddot h\adddot}{f\adddot h\adddot}},
+ pm = {{e\adddot h\adddot}{e\adddot h\adddot}},
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx
index 5c762abc006..d039a568d6d 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx
@@ -6,7 +6,6 @@
\DeclareBibliographyExtras{%
\protected\def\bibrangedash{%
\textendash\penalty\hyphenpenalty}% breakable dash
- \protected\def\bibdatedash{\bibrangedash}%
\let\finalandcomma=\empty
\let\finalandsemicolon=\empty
\def\mkbibordinal{\mkbibmascord}%
@@ -24,21 +23,57 @@
{}
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\space}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\stripzeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
- {\mkdatezeros{\thefield{#3}}%
+ {\mkdayzeros{\thefield{#3}}%
\iffieldundef{#2}{}{/}}%
\iffieldundef{#2}
{}
- {\mkdatezeros{\thefield{#2}}%
+ {\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#1}{}{/}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\mkdatezeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
\savecommand\mkbibordedition
\savecommand\mkbibordseries
\def\mkbibordedition{\mkbibfemord}%
\def\mkbibordseries{\mkbibfemord}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
\UndeclareBibliographyExtras{%
@@ -332,6 +367,7 @@
langdanish = {{danese}{danese}},
langdutch = {{olandese}{olandese}},
langenglish = {{inglese}{inglese}},
+% langestonian = {{}{}},% FIXME: missing
% langfinnish = {{}{}},% FIXME: missing
langfrench = {{francese}{francese}},
langgerman = {{tedesco}{tedesco}},
@@ -353,6 +389,7 @@
fromdanish = {{dal danese}{dal danese}},
fromdutch = {{dall'olandese}{dall'olandese}},
fromenglish = {{dall'inglese}{dall'inglese}},
+% fromestonian = {{}{}},% FIXME: missing
% fromfinnish = {{}{}},% FIXME: missing
fromfrench = {{dal francese}{dal francese}},
fromgerman = {{dal tedesco}{dal tedesco}},
@@ -388,6 +425,15 @@
library = {{biblioteca}{biblioteca}},
abstract = {{abstract}{abstract}},
annotation = {{annotazione}{annotazione}},
+ commonera = {{Era Volgare}{E\adddot V\adddot}},
+ beforecommonera = {{avanti Era Volgare}{a\adddot E\adddot V\adddot}},
+ annodomini = {{d\adddot C\adddot}{d\adddot C\adddot}},
+ beforechrist = {{a\adddot C\adddot}{a\adddot C\adddot}},
+% circa = {{}{}},% FIXME: missing
+% spring = {{}{}},% FIXME: missing
+% summer = {{}{}},% FIXME: missing
+% autumn = {{}{}},% FIXME: missing
+% winter = {{}{}},% FIXME: missing
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/newzealand.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/newzealand.lbx
index a00bf1cdfd5..bef64fed9a9 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/newzealand.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/newzealand.lbx
@@ -12,7 +12,17 @@
{}
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\space}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\stripzeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
\InheritBibliographyStrings{english}
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/norwegian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/norwegian.lbx
index d4c9d7c3e4d..9b251e2b824 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/norwegian.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/norwegian.lbx
@@ -6,7 +6,6 @@
\DeclareBibliographyExtras{%
\protected\def\bibrangedash{%
\textendash\penalty\hyphenpenalty}% breakable dash
- \protected\def\bibdatedash{\bibrangedash}%
\let\finalandcomma=\empty
\let\finalandsemicolon=\empty
\protected\def\mkbibordinal#1{\stripzeros{#1}\adddot}%
@@ -22,16 +21,52 @@
{}
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\space}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\stripzeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
- {\mkdatezeros{\thefield{#3}}\adddot}%
+ {\mkdayzeros{\thefield{#3}}\adddot}%
\iffieldundef{#2}
{}
- {\mkdatezeros{\thefield{#2}}%
+ {\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#1}{}{\adddot}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\mkdatezeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
\DeclareBibliographyStrings{%
@@ -388,6 +423,7 @@
langdanish = {{dansk}{dansk}},
langdutch = {{nederlandsk}{nederlandsk}},
langenglish = {{engelsk}{engelsk}},
+% langestonian = {{}{}},% FIXME: missing
langfinnish = {{finsk}{finsk}},
langfrench = {{fransk}{fransk}},
langgerman = {{tysk}{tysk}},
@@ -409,6 +445,7 @@
fromdanish = {{fra dansk}{fra dansk}},
fromdutch = {{fra nederlandsk}{fra nederlandsk}},
fromenglish = {{fra engelsk}{fra engelsk}},
+% fromestonian = {{}{}},% FIXME: missing
fromfinnish = {{fra finsk}{fra finsk}},
fromfrench = {{fra fransk}{fra fransk}},
fromgerman = {{fra tysk}{fra tysk}},
@@ -449,6 +486,17 @@
library = {{bibliotek}{bibliotek}},
abstract = {{sammendrag}{sammendrag}},
annotation = {{merknad}{merknad}},
+ commonera = {{etter v\aa r tidsregning}{evt\adddot}},
+ beforecommonera = {{f{\o}r v\aa r tidsregning}{fvt\adddot}},
+ annodomini = {{etter Kristus}{e\adddot Kr\adddot}},
+ beforechrist = {{f{\o}r Kristus}{f\adddot Kr\adddot}},
+% circa = {{}{}},% FIXME: missing
+% spring = {{}{}},% FIXME: missing
+% summer = {{}{}},% FIXME: missing
+% autumn = {{}{}},% FIXME: missing
+% winter = {{}{}},% FIXME: missing
+ am = {{a\adddot m\adddot}{a\adddot m\adddot}},
+ pm = {{p\adddot m\adddot}{p\adddot m\adddot}},
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/nynorsk.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/nynorsk.lbx
index e664c1c38b1..5f2e12c24d2 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/nynorsk.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/nynorsk.lbx
@@ -271,6 +271,7 @@
fromdanish = {{fr{\aa} dansk}{fr{\aa} dansk}},
fromdutch = {{fr{\aa} nederlandsk}{fr{\aa} nederlandsk}},
fromenglish = {{fr{\aa} engelsk}{fr{\aa} engelsk}},
+% fromestonian = {{}{}},% FIXME: missing
fromfinnish = {{fr{\aa} finsk}{fr{\aa} finsk}},
fromfrench = {{fr{\aa} fransk}{fr{\aa} fransk}},
fromgerman = {{fr{\aa} tysk}{fr{\aa} tysk}},
@@ -287,6 +288,17 @@
countryeu = {{Den europeiske unionen}{EU}},
countryep = {{Den europeiske unionen}{EP}},
abstract = {{samandrag}{samandrag}},
+ commonera = {{vesterlandsk tidsrekning}{v\adddot t\adddot}},
+ beforecommonera = {{f{\o}r vesterlandsk tidsrekning}{f\adddot v\adddot t\adddot}},
+ annodomini = {{e\adddot Kr\adddot}{e\adddot Kr\adddot}},
+ beforechrist = {{f\adddot Kr\adddot}{f\adddot Kr\adddot}},
+% circa = {{}{}},% FIXME: missing
+% spring = {{}{}},% FIXME: missing
+% summer = {{}{}},% FIXME: missing
+% autumn = {{}{}},% FIXME: missing
+% winter = {{}{}},% FIXME: missing
+ am = {{formiddag}{f\adddot m\adddot}},
+ pm = {{ettermiddag}{e\adddot m\adddot}},
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx
index 99cdf72220b..d8a4e9566e2 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx
@@ -5,7 +5,6 @@
\DeclareBibliographyExtras{%
\protected\def\bibrangedash{\textendash\penalty\hyphenpenalty}%
- \protected\def\bibdatedash{\addnbthinspace\textendash\addhpthinspace}%
\let\finalandcomma=\empty
\let\finalandsemicolon=\empty
\protected\def\mkbibordinal#1{\stripzeros{#1}}%
@@ -25,25 +24,57 @@
\iffieldundef{#1}{}{\space}}%
\iffieldbibstring{#1}
{\bibstring{\thefield{#1}}}
- {\stripzeros{\thefield{#1}}}}%
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
- {\mkdatezeros{\thefield{#3}}\adddot
+ {\mkdayzeros{\thefield{#3}}\adddot
\iffieldundef{#2}{}{\thinspace}}%
\iffieldundef{#2}
{}
- {\mkdatezeros{\thefield{#2}}%
+ {\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#1}
{}
{\iffieldundef{#3}{/}{\adddot\thinspace}}}%
\iffieldbibstring{#1}
{\bibstring{\thefield{#1}}}
- {\mkdatezeros{\thefield{#1}}}}%
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
\savecommand\mkbibordedition
\savecommand\mkbibordseries
\def\mkbibordedition{\mkbibneutord}%
\def\mkbibordseries{\mkbibfemord}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
\UndeclareBibliographyExtras{%
@@ -419,6 +450,7 @@
langdanish = {{du\'{n}ski}{du\'{n}ski}},
langdutch = {{holenderski}{holenderski}},
langenglish = {{angielski}{angielski}},
+% langestonian = {{}{}},% FIXME: missing
langfinnish = {{fi\'{n}ski}{fi\'{n}ski}},
langfrench = {{francuski}{francuski}},
langgerman = {{niemiecki}{niemiecki}},
@@ -440,6 +472,7 @@
fromdanish = {{z du\'{n}skiego}{z du\'{n}\adddot}},
fromdutch = {{z niderla\'{n}skiego}{z nid\adddot}},
fromenglish = {{z angielskiego}{z ang\adddot}},
+% fromestonian = {{}{}},% FIXME: missing
fromfinnish = {{z fi\'{n}skiego}{z fi\'{n}\adddot}},
fromfrench = {{z francuzkiego}{z fran\adddot}},
fromgerman = {{z niemieckiego}{z niem\adddot}},
@@ -478,6 +511,17 @@
library = {{bibloteka}{bibl\adddot}},
abstract = {{podsumowanie}{pod\adddot}},
annotation = {{adnotacja}{adn\adddot}},
+ commonera = {{CE}{CE}},
+ beforecommonera = {{BCE}{BCE}},
+ annodomini = {{n\adddot e\adddot}{n\adddot e\adddot}},
+ beforechrist = {{p\adddot n\adddot e\adddot}{p\adddot n\adddot e\adddot}},
+% circa = {{}{}},% FIXME: missing
+% spring = {{}{}},% FIXME: missing
+% summer = {{}{}},% FIXME: missing
+% autumn = {{}{}},% FIXME: missing
+% winter = {{}{}},% FIXME: missing
+ am = {{AM}{AM}},
+ pm = {{PM}{PM}},
}
\protected\gdef\lbx@pl@mkbibmonth#1{%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx
index 8058bcf86e7..453e5dccfb8 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx
@@ -12,7 +12,6 @@
\DeclareBibliographyExtras{%
\protected\def\bibrangedash{%
\textendash\penalty\hyphenpenalty}% breakable dash
- \protected\def\bibdatedash{\bibrangedash}%
\let\finalandcomma=\empty
\let\finalandsemicolon=\empty
\def\mkbibordinal{\mkbibmascord}%
@@ -30,21 +29,57 @@
{}
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\nobreakspace de\space}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\stripzeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
- {\mkdatezeros{\thefield{#3}}%
+ {\mkdayzeros{\thefield{#3}}%
\iffieldundef{#2}{}{/}}%
\iffieldundef{#2}
{}
- {\mkdatezeros{\thefield{#2}}%
+ {\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#1}{}{/}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\mkdatezeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
\savecommand\mkbibordedition
\savecommand\mkbibordseries
\def\mkbibordedition{\mkbibfemord}%
\def\mkbibordseries{\mkbibfemord}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
\UndeclareBibliographyExtras{%
@@ -405,6 +440,7 @@
langdanish = {{dinamarqu\^es}{dinamarqu\^es}},
langdutch = {{holand{\^e}s}{holand{\^e}s}},
langenglish = {{ingl\^es}{ingl\^es}},
+% langestonian = {{}{}},% FIXME: missing
% langfinnish = {{}{}},% FIXME: missing
langfrench = {{franc\^es}{franc\^es}},
langgerman = {{alem\~ao}{alem\~ao}},
@@ -426,6 +462,7 @@
fromdanish = {{do dinamarqu\^es}{do dinamarqu\^es}},
fromdutch = {{do holand{\^e}s}{do holand{\^e}s}},
fromenglish = {{do ingl\^es}{do ingl\^es}},
+% fromestonian = {{}{}},% FIXME: missing
% fromfinnish = {{}{}},% FIXME: missing
fromfrench = {{do franc\^es}{do franc\^es}},
fromgerman = {{do alem\~ao}{do alem\~ao}},
@@ -461,6 +498,17 @@
library = {{biblioteca}{biblioteca}},
abstract = {{resumo}{resumo}},
annotation = {{notas}{notas}},
+ commonera = {{Era Comum}{EC}},
+ beforecommonera = {{antes da Era Comum}{AEC}},
+ annodomini = {{depois de Cristo}{d\adddot C\adddot}},
+ beforechrist = {{antes de Cristo}{a\adddot C\adddot}},
+% circa = {{}{}},% FIXME: missing
+% spring = {{}{}},% FIXME: missing
+% summer = {{}{}},% FIXME: missing
+% autumn = {{}{}},% FIXME: missing
+% winter = {{}{}},% FIXME: missing
+ am = {{AM}{AM}},
+ pm = {{PM}{PM}},
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx
index 9eb8472181a..0c1bde1261a 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx
@@ -33,8 +33,6 @@
\DeclareBibliographyExtras{%
\protected\def\bibrangedash{%
\textemdash\penalty\hyphenpenalty}% breakable dash
- \protected\def\bibdatedash{%
- \textemdash\penalty\hyphenpenalty}% breakable dash
\let\finalandcomma=\empty
\let\finalandsemicolon=\empty
\protected\def\mkbibordinal#1{\mkbibmascord}%
@@ -52,21 +50,57 @@
{\mkbibmonth{\thefield{#2}}}
{\lbx@ru@mkbibdatemonth{\thefield{#2}}}%
\iffieldundef{#1}{}{\space}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\stripzeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
- {\mkdatezeros{\thefield{#3}}%
+ {\mkdayzeros{\thefield{#3}}%
\iffieldundef{#2}{}{\adddot}}%
\iffieldundef{#2}
{}
- {\mkdatezeros{\thefield{#2}}%
+ {\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#1}{}{\adddot}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\mkdatezeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
\savecommand\mkbibordedition
\savecommand\mkbibordseries
\def\mkbibordedition{\mkbibneutord}%
\def\mkbibordseries{\mkbibfemord}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
\UndeclareBibliographyExtras{%
@@ -445,6 +479,7 @@
langdanish = {{датский}{дат\adddot}},
langdutch = {{нидерландский}{нидерл\adddot}},
langenglish = {{английский}{англ\adddot}},
+ langestonian = {{эстонский}{эст\adddot}},
langfinnish = {{финский}{фин\adddot}},
langfrench = {{французский}{фр\adddot}},
langgerman = {{немецкий}{нем\adddot}},
@@ -467,6 +502,7 @@
fromdanish = {{с датского}{с\addabbrvspace дат\adddot}},
fromdutch = {{с нидерландского}{с\addabbrvspace нидерл\adddot}},
fromenglish = {{с английского}{с\addabbrvspace англ\adddot}},
+ fromestonian = {{с эстонского}{с\addabbrvspace эст\adddot}},
fromfinnish = {{с финского}{с\addabbrvspace фин\adddot}},
fromfrench = {{с французского}{с\addabbrvspace фр\adddot}},
fromgerman = {{с немецкого}{с\addabbrvspace нем\adddot}},
@@ -503,6 +539,17 @@
library = {{библиотека}{б-ка}},
abstract = {{резюме}{рез\adddot}},
annotation = {{аннотация}{аннот\adddot}},
+ commonera = {{нашей эры}{н\adddotspace э\adddot}},
+ beforecommonera = {{до нашей эры}{до н\adddotspace э\adddot}},
+ annodomini = {{от Рождества Христова}{от Р\adddotspace Х\adddot}},
+ beforechrist = {{до Рождества Христова}{до Р\adddotspace Х\adddot}},
+ circa = {{около}{ок\adddot}},
+ spring = {{весна}{весна}},
+ summer = {{лето}{лето}},
+ autumn = {{осень}{осень}},
+ winter = {{зима}{зима}},
+ am = {{ДП}{ДП}},
+ pm = {{ПП}{ПП}},
}
\protected\gdef\lbx@ru@mkbibdatemonth#1{%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx
index f317b608aeb..4cb194af110 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx
@@ -22,19 +22,55 @@
{}
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\space}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\stripzeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
- {\mkdatezeros{\thefield{#3}}\adddot
+ {\mkdayzeros{\thefield{#3}}\adddot
\iffieldundef{#2}{}{\thinspace}}%
\iffieldundef{#2}
{}
- {\mkdatezeros{\thefield{#2}}%
+ {\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#1}
{}
{\iffieldundef{#3}{/}{\adddot\thinspace}}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\mkdatezeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
\DeclareBibliographyStrings{%
@@ -536,6 +572,7 @@
{hol\adddot}},
langenglish = {{angli\v{c}tina}%
{angl\adddot}},
+% langestonian = {{}{}},% FIXME: missing
langfinnish = {{f\'{i}n\v{c}ina}%
{f\'{i}n\adddot}},
langfrench = {{franc\'{u}z\v{s}tina}%
@@ -582,6 +619,7 @@
{z\addnbspace hol\adddot}},
fromenglish = {{z\addnbspace angli\v{c}tiny}%
{z\addnbspace angl\adddot}},
+% fromestonian = {{}{}},% FIXME: missing
fromfinnish = {{z\addnbspace f\'{i}n\v{c}iny}%
{z\addnbspace f\'{i}n\adddot}},
fromfrench = {{z\addnbspace franc\'{u}z\v{s}tiny}%
@@ -656,6 +694,17 @@
{abst\adddot}},
annotation = {{anot\'{a}cia}%
{anot\adddot}},
+ commonera = {{n\'a\v{s}ho letopo\v{c}tu}{n\adddotspace l\adddot}},
+ beforecommonera = {{pred na\v{s}\'{\i}m letopo\v{c}tom}{pred\ n\adddotspace l\adddot}},
+ annodomini = {{po Kristovi}{po\ Kr\adddot}},
+ beforechrist = {{pred Kristom}{pred\ Kr\adddot}},
+% circa = {{}{}},% FIXME: missing
+% spring = {{}{}},% FIXME: missing
+% summer = {{}{}},% FIXME: missing
+% autumn = {{}{}},% FIXME: missing
+% winter = {{}{}},% FIXME: missing
+ am = {{AM}{AM}},
+ pm = {{PM}{PM}},
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx
index 3ba5a92ddf0..1eb41919233 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx
@@ -5,7 +5,6 @@
\DeclareBibliographyExtras{%
\protected\def\bibrangedash{\textendash\penalty\hyphenpenalty}%
- \protected\def\bibdatedash{\addnbthinspace\textendash\addhpthinspace}%
\let\finalandcomma=\empty
\let\finalandsemicolon=\empty
\protected\def\mkbibordinal#1{\stripzeros{#1}\adddot}%
@@ -23,7 +22,7 @@
\iffieldundef{#1}{}{\space}}%
\iffieldbibstring{#1}
{\bibstring{\thefield{#1}}}
- {\stripzeros{\thefield{#1}}}}%
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
@@ -35,11 +34,43 @@
\iffieldundef{#1}{}{\addnbthinspace}}%
\iffieldbibstring{#1}
{\bibstring{\thefield{#1}}}
- {\stripzeros{\thefield{#1}}}}%
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
\savecommand\mkbibordedition
\savecommand\mkbibordseries
\def\mkbibordedition{\mkbibordinal}%
\def\mkbibordseries{\mkbibfemord}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
\UndeclareBibliographyExtras{%
@@ -401,6 +432,7 @@
langdanish = {{dan\v{s}\v{c}ina}{dan\adddot}},
langdutch = {{nizozem\v{s}\v{c}ina}{niz\adddot}},
langenglish = {{angle\v{s}\v{c}ina}{angl\adddot}},
+% langestonian = {{}{}},% FIXME: missing
langfinnish = {{fin\v{s}\v{c}ina}{fin\adddot}},
langfrench = {{franco\v{s}\v{c}ina}{fr\adddot}},
langgerman = {{nem\v{s}\v{c}ina}{nem\adddot}},
@@ -422,6 +454,7 @@
fromdanish = {{iz dan\v{s}\v{c}ine}{iz dan\adddot}},
fromdutch = {{iz nizozem\v{s}\v{c}ine}{iz niz\adddot}},
fromenglish = {{iz angle\v{s}\v{c}ine}{iz angl\adddot}},
+% fromestonian = {{}{}},% FIXME: missing
fromfinnish = {{iz fin\v{s}\v{c}ine}{iz fin\adddot}},
fromfrench = {{iz franco\v{s}\v{c}ine}{iz fr\adddot}},
fromgerman = {{iz nem\v{s}\v{c}ine}{iz nem\adddot}},
@@ -457,6 +490,17 @@
library = {{knji\v{z}nica}{knji\v{z}nica}},
abstract = {{povzetek}{povzetek}},
annotation = {{opomba}{op\adddot}},
+ commonera = {{po n\adddotspace\v{s}t\adddot}{n\adddotspace\v{s}t\adddot}},
+ beforecommonera = {{pred na\v{s}im \v{s}tetjem}{pr\adddotspace n\adddotspace\v{s}t\adddot}},
+ annodomini = {{na\v{s}e \v{s}tetje}{po\ n\adddotspace\v{s}t\adddot}},
+ beforechrist = {{pred Kristusom}{pr\adddotspace Kr\adddot}},
+% circa = {{}{}},% FIXME: missing
+% spring = {{}{}},% FIXME: missing
+% summer = {{}{}},% FIXME: missing
+% autumn = {{}{}},% FIXME: missing
+% winter = {{}{}},% FIXME: missing
+ am = {{dop\adddot}{dop\adddot}},
+ pm = {{pop\adddot}{pop\adddot}},
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx
index 8bfd3b828f2..cd741dc846d 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx
@@ -5,7 +5,6 @@
\DeclareBibliographyExtras{%
\protected\def\bibrangedash{\mbox{-}}% non-breaking hyphen
- \protected\def\bibdatedash{\bibrangedash}% FIXME: unsure
\let\finalandcomma=\empty
\let\finalandsemicolon=\empty
\def\mkbibordinal{\mkbibmascord}%
@@ -22,23 +21,27 @@
{}
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\nobreakspace de\space}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\stripzeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#3}
{}
- {\mkdatezeros{\thefield{#3}}%
+ {\mkdayzeros{\thefield{#3}}%
\iffieldundef{#2}{}{\mbox{-}}}%
\iffieldundef{#2}
{}
- {\mkdatezeros{\thefield{#2}}%
+ {\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#1}{}{\mbox{-}}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\mkdatezeros{\thefield{#1}}}}%
- \savecommand\mkbibrangeterse
- \protected\def\mkbibrangeterse{%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
+ \savecommand\mkdaterangeterse
+ \protected\def\mkdaterangeterse{%
\BibliographyWarning{%
Date format 'terse' not applicable to\MessageBreak
Spanish dates. Using format 'short' instead}%
- \mkbibrangefull{short}}%
+ \mkdaterangefull{short}}%
\savecommand\lbx@finalnamedelim
\savecommand\lbx@finallistdelim
\ifnumgreater{\value{smartand}}{0}
@@ -49,10 +52,42 @@
\savecommand\mkbibordseries
\def\mkbibordedition{\mkbibfemord}%
\def\mkbibordseries{\mkbibfemord}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
\UndeclareBibliographyExtras{%
- \restorecommand\mkbibrangeterse
+ \restorecommand\mkdaterangeterse
\restorecommand\lbx@finalnamedelim
\restorecommand\lbx@finallistdelim
\restorecommand\mkbibordedition
@@ -324,7 +359,7 @@
see = {{v\'ease}{vid\adddot}},
seealso = {{v\'ease tambi\'en}{vid\adddotspace tambi\'en}},
backrefpage = {{v\'ease p\'agina}{vid\adddotspace p\'ag\adddot}},
- backrefpages = {{v\'ease p\'aginas}{vid\adddotspace p\'ags\adddot}},
+ backrefpages = {{v\'eanse p\'aginas}{vid\adddotspace p\'ags\adddot}},
january = {{enero}{ene\adddot}},
february = {{febrero}{feb\adddot}},
march = {{marzo}{mar\adddot}},
@@ -345,6 +380,7 @@
langdanish = {{dan\'es}{dan\'es}},
langdutch = {{neerland\'es}{neerland\'es}},
langenglish = {{ingl\'es}{ingl\'es}},
+% langestonian = {{}{}},% FIXME: missing
langfinnish = {{fin\'{e}s}{fin\'{e}s}},
langfrench = {{franc\'es}{franc\'es}},
langgerman = {{alem\'an}{alem\'an}},
@@ -366,6 +402,7 @@
fromdanish = {{del dan\'es}{del dan\'es}},
fromdutch = {{del neerland\'es}{del neerland\'es}},
fromenglish = {{del ingl\'es}{del ingl\'es}},
+% fromestonian = {{}{}},% FIXME: missing
fromfinnish = {{del fin\'{e}s}{del fin\'{e}s}},
fromfrench = {{del franc\'es}{del franc\'es}},
fromgerman = {{del alem\'an}{del alem\'an}},
@@ -401,6 +438,17 @@
library = {{biblioteca}{bibl\adddot}},
abstract = {{resumen}{resumen}},
annotation = {{anotaci\'{o}n}{anot\adddot}},
+ commonera = {{era com\'un}{e\adddotspace c\adddot}},
+ beforecommonera = {{antes de la era com\'un}{a\adddotspace e\adddotspace c\adddot}},
+ annodomini = {{despu\'es de Cristo}{d\adddotspace C\adddot}},
+ beforechrist = {{antes de Cristo}{a\adddotspace C\adddot}},
+% circa = {{}{}},% FIXME: missing
+% spring = {{}{}},% FIXME: missing
+% summer = {{}{}},% FIXME: missing
+% autumn = {{}{}},% FIXME: missing
+% winter = {{}{}},% FIXME: missing
+ am = {{a\adddotspace m\adddot}{a\adddot m\adddot}},
+ pm = {{p\adddotspace m\adddot}{p\adddot m\adddot}},
}
\protected\gdef\lbx@es@smartand{%
diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx
index 7b9ee1fbdfe..6413918075a 100644
--- a/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx
@@ -26,7 +26,6 @@
\DeclareBibliographyExtras{%
\protected\def\bibrangedash{%
\textendash\penalty\hyphenpenalty}% breakable dash
- \protected\def\bibdatedash{\bibrangedash}%
\let\finalandcomma=\empty
\let\finalandsemicolon=\empty
\protected\def\mkbibordinal#1{\stripzeros{#1}\adddot}%
@@ -54,29 +53,65 @@
{}
{\mkbibmonth{\thefield{#2}}%
\iffieldundef{#1}{}{\space}}%
- \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\stripzeros{\thefield{#1}}}}%
+ \iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
\protected\def\mkbibdateshort#1#2#3{%
\iffieldundef{#1}
{}
- {\iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\mkdatezeros{\thefield{#1}}}%
+ {\iffieldbibstring{#1}
+ {\bibstring{\thefield{#1}}}
+ {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
\iffieldundef{#2}{}{\mbox{-}}}%
\iffieldundef{#2}
{}
- {\mkdatezeros{\thefield{#2}}%
+ {\mkmonthzeros{\thefield{#2}}%
\iffieldundef{#3}{}{\mbox{-}}}%
\iffieldundef{#3}
{}
- {\mkdatezeros{\thefield{#3}}}}%
- \savecommand\mkbibrangeterse
- \protected\def\mkbibrangeterse{%
+ {\mkdayzeros{\thefield{#3}}}}%
+ \savecommand\mkdaterangeterse
+ \protected\def\mkdaterangeterse{%
\BibliographyWarning{%
Date format 'terse' not applicable to\MessageBreak
Swedish dates. Using format 'short' instead}%
- \mkbibrangefull{short}}%
+ \mkdaterangefull{short}}%
+ \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+ \iffieldundef{#1}{}
+ {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#2}{}
+ {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+ \iffieldundef{#3}{}
+ {\printtext{\mktimezeros{\thefield{#3}}}}%
+ \setunit{}%
+ \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
+ \forcezeros{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+ \protected\def\mkbibseasondateshort#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+ \protected\def\mkbibseasondatelong#1#2{%
+ \mkbibseason{\thefield{#2}}%
+ \iffieldundef{#1}{}{\space}%
+ \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
}
\UndeclareBibliographyExtras{%
- \restorecommand\mkbibrangeterse
+ \restorecommand\mkdaterangeterse
}
\DeclareBibliographyStrings{%
@@ -376,6 +411,7 @@
langdanish = {{danska}{danska}},
langdutch = {{nederl\"andska}{nederl\"andska}},
langenglish = {{engelska}{engelska}},
+% langestonian = {{}{}},% FIXME: missing
langfinnish = {{finska}{finska}},
langfrench = {{franska}{franska}},
langgerman = {{tyska}{tyska}},
@@ -397,6 +433,7 @@
fromdanish = {{fr\aa n danska}{fr\aa n danska}},
fromdutch = {{fr\aa n nederl\"andska}{fr\aa n nederl\"andska}},
fromenglish = {{fr\aa n engelska}{fr\aa n engelska}},
+% fromestonian = {{}{}},% FIXME: missing
fromfinnish = {{fr\aa n finska}{fr\aa n finska}},
fromfrench = {{fr\aa n franska}{fr\aa n franska}},
fromgerman = {{fr\aa n tyska}{fr\aa n tyska}},
@@ -432,6 +469,17 @@
library = {{bibliotek}{bibliotek}},
abstract = {{sammandrag}{sammandrag}},
annotation = {{anm\"arkning}{anm\adddot}},
+ commonera = {{v\"asterl\"andsk tider\"akning}{v\adddot t\adddot}},
+ beforecommonera = {{f\"ore v\"asterl\"andsk tider\"akning}{f\adddot v\adddot t\adddot}},
+ annodomini = {{efter Kristus}{e\adddot Kr\adddot}},
+ beforechrist = {{f\"ore Kristus}{f\adddot Kr\adddot}},
+% circa = {{}{}},% FIXME: missing
+% spring = {{}{}},% FIXME: missing
+% summer = {{}{}},% FIXME: missing
+% autumn = {{}{}},% FIXME: missing
+% winter = {{}{}},% FIXME: missing
+ am = {{fm}{fm}},
+ pm = {{em}{em}},
}
\endinput