From 255f0a58d9bae0f193b4bd7d07885325f2fe8585 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 14 Sep 2016 22:21:10 +0000 Subject: biblatex (14sep16) git-svn-id: svn://tug.org/texlive/trunk@42063 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/biblatex/bbx/authoryear.bbx | 28 +- Master/texmf-dist/tex/latex/biblatex/biblatex.def | 145 +- Master/texmf-dist/tex/latex/biblatex/biblatex.sty | 1769 ++++++++++++++++---- .../texmf-dist/tex/latex/biblatex/blx-bibtex.def | 19 +- Master/texmf-dist/tex/latex/biblatex/blx-dm.def | 54 +- .../tex/latex/biblatex/cbx/alphabetic.cbx | 4 + .../tex/latex/biblatex/cbx/authortitle-comp.cbx | 4 + .../tex/latex/biblatex/cbx/authortitle-icomp.cbx | 4 + .../tex/latex/biblatex/cbx/authoryear-comp.cbx | 36 +- .../tex/latex/biblatex/cbx/authoryear-ibid.cbx | 32 +- .../tex/latex/biblatex/cbx/authoryear-icomp.cbx | 36 +- .../tex/latex/biblatex/cbx/authoryear.cbx | 38 +- .../tex/latex/biblatex/cbx/numeric-comp.cbx | 4 + .../texmf-dist/tex/latex/biblatex/cbx/numeric.cbx | 4 + .../tex/latex/biblatex/cbx/verbose-ibid.cbx | 4 + .../tex/latex/biblatex/cbx/verbose-inote.cbx | 4 + .../tex/latex/biblatex/cbx/verbose-note.cbx | 4 + .../tex/latex/biblatex/cbx/verbose-trad1.cbx | 4 + .../tex/latex/biblatex/cbx/verbose-trad2.cbx | 4 + .../tex/latex/biblatex/cbx/verbose-trad3.cbx | 4 + .../texmf-dist/tex/latex/biblatex/cbx/verbose.cbx | 4 + .../tex/latex/biblatex/lbx/australian.lbx | 8 + .../tex/latex/biblatex/lbx/brazilian.lbx | 58 +- .../texmf-dist/tex/latex/biblatex/lbx/british.lbx | 46 +- .../texmf-dist/tex/latex/biblatex/lbx/catalan.lbx | 66 +- .../texmf-dist/tex/latex/biblatex/lbx/croatian.lbx | 50 +- Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx | 59 +- .../texmf-dist/tex/latex/biblatex/lbx/danish.lbx | 58 +- Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx | 58 +- .../texmf-dist/tex/latex/biblatex/lbx/english.lbx | 225 ++- .../texmf-dist/tex/latex/biblatex/lbx/estonian.lbx | 578 +++++++ .../texmf-dist/tex/latex/biblatex/lbx/finnish.lbx | 58 +- .../texmf-dist/tex/latex/biblatex/lbx/french.lbx | 58 +- .../texmf-dist/tex/latex/biblatex/lbx/german.lbx | 208 ++- Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx | 54 +- .../tex/latex/biblatex/lbx/icelandic.lbx | 58 +- .../texmf-dist/tex/latex/biblatex/lbx/italian.lbx | 56 +- .../tex/latex/biblatex/lbx/newzealand.lbx | 12 +- .../tex/latex/biblatex/lbx/norwegian.lbx | 58 +- .../texmf-dist/tex/latex/biblatex/lbx/nynorsk.lbx | 12 + .../texmf-dist/tex/latex/biblatex/lbx/polish.lbx | 54 +- .../tex/latex/biblatex/lbx/portuguese.lbx | 58 +- .../texmf-dist/tex/latex/biblatex/lbx/russian.lbx | 59 +- .../texmf-dist/tex/latex/biblatex/lbx/slovak.lbx | 57 +- .../texmf-dist/tex/latex/biblatex/lbx/slovene.lbx | 50 +- .../texmf-dist/tex/latex/biblatex/lbx/spanish.lbx | 68 +- .../texmf-dist/tex/latex/biblatex/lbx/swedish.lbx | 66 +- 47 files changed, 3659 insertions(+), 738 deletions(-) create mode 100644 Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx (limited to 'Master/texmf-dist/tex') 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{}{}, a % test that should expand 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,14 +1225,33 @@ \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} } } +% ------------------------------------------------------------------ +% 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} % *{} @@ -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}} % {}{} \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=, then this overrides -% langid field, otherwise, we try than, otherwise try main doc lang +% Check, in order: +% * explicit option language=, 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 % {} - -\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}} - -% {}{} - -\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>}{} +\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}}}}}} + +% {}{''|end} +\newrobustcmd*{\blx@timepre}[2]{% + \iftoggle{blx@timezones}{} + {\blx@imc@clearfield{#1#2timezone}}% + \iftoggle{blx@seconds}{} + {\blx@imc@clearfield{#1#2second}}} + +% {}{} +\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]{% +% {} +\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}}}}}} + +% {} +\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]{}{''|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}} + +% {}{'' | 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]{}{''|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 inits to true. Used for conflict +% tests with uniquename settings (see \AtEndPreamble below) +\newtoggle{abx@bool@xinits} +% define 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 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 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}} % {} @@ -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}}} % {}{} @@ -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}} +% {} +\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} + % [] \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 @@ {}} % {}{} - \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}}}}} % {}{} => matches in - \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{% ~~~~~~~~\blx@nl} +\xdef\blx@xml@labelalphanametemplate#1#2{% + ~~\blx@nl + #2% + ~~\blx@nl} +\xdef\blx@xml@labelalphanametemplatenamepart#1#2#3{% + ~~~~#3\blx@nl} + \xdef\blx@xml@labelalphatemplate#1#2{% ~~\blx@nl #2% @@ -9648,9 +10389,9 @@ ~~~~\blx@nl #2% ~~~~\blx@nl} -\xdef\blx@xml@inherit@data#1{% - ~~~~\blx@nl - #1% +\xdef\blx@xml@inherit@data#1#2{% + ~~~~\blx@nl + #2% ~~~~\blx@nl} \xdef\blx@xml@inherit@type#1#2#3{% ~~~~~~\blx@nl} @@ -9687,6 +10428,14 @@ \xdef\blx@xml@nolabelwidthcount#1{% ~~~~\blx@nl} +\xdef\blx@xml@uniquenametemplate#1{% + ~~\blx@nl% + #1% + ~~\blx@nl} + +\xdef\blx@xml@uniquenametemplatenamepart#1#2#3{% + ~~~~#3\blx@nl} + \xdef\blx@xml@sortingnamekey#1#2{% ~~\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"}} -%%% +% []{} +\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"}}} + +% []{} \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"}}} % []{} - \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"}} % {}{}{} - \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"}} % {}{}{} -\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}}} +% {} +\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"}} + {}} + % []{} \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"}}} + % {}{} \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}}} % []{} - \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 + '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 + '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 + '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} + % {} -% 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 -- cgit v1.2.3