diff options
author | Karl Berry <karl@freefriends.org> | 2020-08-20 21:11:51 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-08-20 21:11:51 +0000 |
commit | 007811a6dc1c41c75d2fc3ac86ecb35014856a72 (patch) | |
tree | 624a9014bb69937073cb2f5bdbcb9dc5e20db1a6 /Master/texmf-dist/tex/latex/biblatex | |
parent | 09ce7eaab854b9d1a6d44d71e17f88d19424885a (diff) |
biblatex (20aug20)
git-svn-id: svn://tug.org/texlive/trunk@56143 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex')
43 files changed, 6108 insertions, 2705 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex/bbx/standard.bbx b/Master/texmf-dist/tex/latex/biblatex/bbx/standard.bbx index 3046bd10e89..810c8584c95 100644 --- a/Master/texmf-dist/tex/latex/biblatex/bbx/standard.bbx +++ b/Master/texmf-dist/tex/latex/biblatex/bbx/standard.bbx @@ -19,6 +19,8 @@ \settoggle{bbx:related}{#1}} \ExecuteBibliographyOptions{isbn,url,doi,eprint,related} +% @online url is shown even if url=false, globally +\ExecuteBibliographyOptions[online]{url=true} \newbibmacro*{begentry}{} \newbibmacro*{finentry}{\finentry} @@ -485,15 +487,7 @@ \newunit\newblock \usebibmacro{date}% \newunit\newblock - \iftoggle{bbx:doi} - {\printfield{doi}} - {}% - \newunit\newblock - \iftoggle{bbx:eprint} - {\usebibmacro{eprint}} - {}% - \newunit\newblock - \usebibmacro{url+urldate}% + \usebibmacro{doi+eprint+url}% \newunit\newblock \usebibmacro{addendum+pubstate}% \setunit{\bibpagerefpunct}\newblock @@ -719,9 +713,7 @@ \newunit\newblock \usebibmacro{location+date}% \newunit\newblock - \iftoggle{bbx:url} - {\usebibmacro{url+urldate}} - {}% + \usebibmacro{doi+eprint+url}% \newunit\newblock \usebibmacro{addendum+pubstate}% \setunit{\bibpagerefpunct}\newblock @@ -808,7 +800,7 @@ \printfield{volume}% \setunit*{\adddot}% \printfield{number}% - \setunit{\addcomma\space}% + \setunit{\bibeidpunct}% \printfield{eid}} \newbibmacro*{title+issuetitle}{% @@ -895,6 +887,8 @@ \newbibmacro*{chapter+pages}{% \printfield{chapter}% \setunit{\bibpagespunct}% + \printfield{eid}% + \setunit{\bibpagespunct}% \printfield{pages}% \newunit} diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex.def b/Master/texmf-dist/tex/latex/biblatex/biblatex.def index 992e8ba7e3b..10f4144dab6 100644 --- a/Master/texmf-dist/tex/latex/biblatex/biblatex.def +++ b/Master/texmf-dist/tex/latex/biblatex/biblatex.def @@ -18,9 +18,9 @@ % \namepart<namepart>i - e.g. \namepartfamilyi \def\do#1{% \csdef{mkbibname#1}##1{##1}% - \define@key{blx@opt@namepart}{#1}{\csdef{namepart#1}{##1}}% - \define@key{blx@opt@namepart}{#1i}{\csdef{namepart#1i}{##1}}% - \define@key{blx@opt@namepart}{#1un}{\csdef{namepart#1un}{##1}}} + \blx@kv@defkey{blx@opt@namepart}{#1}{\csdef{namepart#1}{##1}}% + \blx@kv@defkey{blx@opt@namepart}{#1i}{\csdef{namepart#1i}{##1}}% + \blx@kv@defkey{blx@opt@namepart}{#1un}{\csdef{namepart#1un}{##1}}} \expandafter\docsvlist\expandafter{\blx@datamodel@constant@nameparts} % legacy aliases @@ -95,8 +95,17 @@ \DeclareDelimFormat{andmoredelim}{\addspace} \newcommand*{\multicitedelim}{\addsemicolon\space} +\newcommand*{\multicitesubentrydelim}{\addcomma} +\newcommand*{\multiciterangedelim}{\bibrangedash} +\newcommand*{\multicitesubentryrangedelim}{\multiciterangedelim} + \newcommand*{\compcitedelim}{\addcomma\space} + \newcommand*{\supercitedelim}{\addcomma} +\newcommand*{\supercitesubentrydelim}{\supercitedelim} +\newcommand*{\superciterangedelim}{\bibrangedash} +\newcommand*{\supercitesubentryrangedelim}{\superciterangedelim} + \DeclareDelimFormat{prenotedelim}{\addspace} \DeclareDelimFormat{postnotedelim}{\addcomma\space} \DeclareDelimAlias{multiprenotedelim}{prenotedelim} @@ -168,6 +177,7 @@ \newcommand*{\subtitlepunct}{\newunitpunct} \newcommand*{\intitlepunct}{\addcolon\space} \newcommand*{\bibpagespunct}{\addcomma\space} +\newcommand*{\bibeidpunct}{\addcomma\space} \newcommand*{\bibpagerefpunct}{\addspace} \newcommand*{\revsdnamepunct}{\addcomma} \newcommand*{\bibnamedash}{% @@ -238,6 +248,10 @@ % want more visual separation, try the package option 'block=space'. % This will yield better results than \nonfrenchspacing. +% If \frenchspacing is removed here, it may also have to be removed +% from \blx@beglang@spacefactors, for example with +% \let\blx@beglang@spacefactors\@empty + % \citesetup is a generic hook for citations. \newcommand*{\citesetup}{% @@ -462,15 +476,15 @@ \DeclareFieldFormat{prenote}{#1\isdot} \DeclareFieldFormat{postnote}{\mkpageprefix[pagination][\mknormrange]{#1}} \DeclareFieldFormat{volcitevolume}{\bibstring{volume}\ppspace#1} -\DeclareFieldFormat{volcitepages}{\mkpageprefix[pagination][\mknormrange]{#1}} +\DeclareFieldAlias{volcitepages}{postnote} \DeclareFieldFormat{volcitenote}{\mkvolcitenote#1} \newrobustcmd*{\mkvolcitenote}[2]{% \printtext[volcitevolume]{#1}% \ifblank{#2}{}{\volcitedelim\printtext[volcitepages]{#2}}} % multicite commands -\DeclareFieldFormat{multiprenote}{#1\isdot} -\DeclareFieldFormat{multipostnote}{\mkpageprefix[pagination][\mknormrange]{#1}} +\DeclareFieldAlias{multiprenote}{prenote} +\DeclareFieldAlias{multipostnote}{postnote} % Used by \citeurl @@ -1163,8 +1177,6 @@ % The fallback used by \indexlist -\DeclareIndexListWrapperFormat{default}{#1} - \DeclareIndexListFormat{default}{\index{#1}} % ------------------------------------------------------------------ @@ -1176,8 +1188,6 @@ % The fallback used by \indexnames -\DeclareIndexNameWrapperFormat{default}{#1} - \DeclareIndexNameFormat{default}{% \usebibmacro{index:name} {\index} @@ -1227,7 +1237,7 @@ \newbibmacro*{index:name}[5]{% \usebibmacro{index:entry}{#1}{\mkbibindexname{#2}{#3}{#4}{#5}}} -% {<family name>}{<given name>}{<given initials>}{<family name prefix>} +% {<family name>}{<given name>}{<prefix>}{<suffix>} \newcommand*{\mkbibindexname}[4]{% \ifuseprefix {\ifdefvoid{#3}{}{#3 }% @@ -1715,6 +1725,7 @@ \DeclareDataInheritance{periodical}{article,suppperiodical}{% \inherit{title}{journaltitle} \inherit{subtitle}{journalsubtitle} + \inherit{titleaddon}{journaltitleaddon} \noinherit{shorttitle} \noinherit{sorttitle} \noinherit{indextitle} @@ -2344,7 +2355,7 @@ \newbibmacro*{multipostnote}{% \iffieldundef{multipostnote} {} - {\printdelim{multipostnotedelim} + {\printdelim{multipostnotedelim}% \printfield{multipostnote}}} % ------------------------------------------------------------------ @@ -2824,6 +2835,9 @@ \newunit}% \printfield{maintitleaddon}} +% The \iffieldundef{journaltitleaddon} is usually not necessary. +% We need it to ensure that a \setunit* after this macro does the right thing +% for backwards compatibility. \newbibmacro*{journal}{% \ifboolexpr{ test {\iffieldundef{journaltitle}} @@ -2834,8 +2848,14 @@ {\printtext[journaltitle]{% \printfield[titlecase]{journaltitle}% \setunit{\subtitlepunct}% - \printfield[titlecase]{journalsubtitle}}}} + \printfield[titlecase]{journalsubtitle}}% + \newunit}% + \iffieldundef{journaltitleaddon} + {} + {\printfield{journaltitleaddon}}} +% Re \iffieldundef{titleaddon} see the comment about +% \iffieldundef{journaltitleaddon} above. \newbibmacro*{periodical}{% \ifboolexpr{ test {\iffieldundef{title}} @@ -2846,7 +2866,11 @@ {\printtext[title]{% \printfield[titlecase]{title}% \setunit{\subtitlepunct}% - \printfield[titlecase]{subtitle}}}} + \printfield[titlecase]{subtitle}}% + \newunit}% + \iffieldundef{titleaddon} + {} + {\printfield{titleaddon}}} \newbibmacro*{issue}{% \ifboolexpr{ @@ -2858,11 +2882,13 @@ {\printtext[issuetitle]{% \printfield[titlecase]{issuetitle}% \setunit{\subtitlepunct}% - \printfield[titlecase]{issuesubtitle}}}} + \printfield[titlecase]{issuesubtitle}}% + \newunit}% + \printfield{issuetitleaddon}} \newbibmacro*{in:}{% - \printtext{% - \bibstring{in}\intitlepunct}} + \bibstring{in}% + \printunit{\intitlepunct}} \newbibmacro*{date}{\printdate} @@ -2900,9 +2926,12 @@ {\printfield[eprint:\strfield{eprinttype}]{eprint}}} \newbibmacro*{annotation}{% + \begingroup + \togglefalse{blx@bibliography}% \iffieldundef{annotation} {\printfile[annotation]{\bibannotationprefix\thefield{entrykey}.tex}} - {\printfield{annotation}}} + {\printfield{annotation}}% + \endgroup} \newbibmacro*{abstract}{% \iffieldundef{abstract} @@ -2926,7 +2955,7 @@ \ifbibmacroundef{date+extradate} {} {\renewbibmacro*{date+extradate}{}% - \renewbibmacro*{date}{\printdate}}% + \renewbibmacro*{bbx:ifmergeddate}{\@secondoftwo}}% \renewbibmacro*{pageref}{}} {\thefield{entrytype}}}} diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex.sty b/Master/texmf-dist/tex/latex/biblatex/biblatex.sty index 775d3ecfb3e..e48b124277f 100644 --- a/Master/texmf-dist/tex/latex/biblatex/biblatex.sty +++ b/Master/texmf-dist/tex/latex/biblatex/biblatex.sty @@ -12,8 +12,8 @@ % particular purpose. % Set up the version strings here -\def\abx@date{2019/12/01} -\def\abx@version{3.14} +\def\abx@date{2020/08/19} +\def\abx@version{3.15} \def\abx@bbxid{\abx@date\space v\abx@version\space biblatex bibliography style (PK/MW)} \def\abx@cbxid{\abx@date\space v\abx@version\space biblatex citation style (PK/MW)} \def\abx@lbxid{\abx@date\space v\abx@version\space biblatex localization (PK/MW)} @@ -53,6 +53,39 @@ \endinput} +% generalised keyval interface +% define a new key (possibly with a default value) +% {<family>}{<key>}[<default>]{<code>} +\providerobustcmd*{\blx@kv@defkey}{\define@key} + +% globally define new key (should only be the last resort) +% {<family>}{<key>}[<default>]{<code>} +\providerobustcmd*{\blx@kv@gdefkey}[2]{% + \@ifnextchar[% + {\blx@kv@gdefkey@default{#1}{#2}} + {\blx@kv@gdefkey@nodefault{#1}{#2}}} + +\ifundef\blx@kv@gdefkey@nodefault + {\protected\def\blx@kv@gdefkey@nodefault#1#2{\csgdef{KV@#1@#2}##1}} + {} +\ifundef\blx@kv@gdefkey@default + {\protected\def\blx@kv@gdefkey@default#1#2[#3]{% + \csgdef{KV@#1@#2@default}{\csuse{KV@#1@#2}{#3}}% + \csgdef{KV@#1@#2}##1}} + {} + +% test if key is undefined +% {<family>}{<key>}{<true>}{<false>} +\providecommand*{\blx@kv@ifkeyundef}[2]{% + \ifcsundef{KV@#1@#2}} + +% undefine key +% {<family>}{<key>} +\providerobustcmd*{\blx@kv@undef}[2]{\csundef{KV@#1@#2}} + +% {<family>}{<key-vals>} +\providerobustcmd*{\blx@kv@setkeys}{\setkeys} + %% Category codes \def\blx@docatcodes{% @@ -180,12 +213,12 @@ {'polyglossia' loaded after biblatex} {'polyglossia' must be loaded before biblatex}} {}% - \@ifpackagelater{polyglossia}{2019/10/27} + \@ifpackagelater{polyglossia}{2020/04/08} {} {\blx@warning@noline - {biblatex works best with 'polyglossia' 1.45\MessageBreak + {biblatex works best with 'polyglossia' 1.49\MessageBreak or above.\MessageBreak - Please update 'polyglossia' to v1.45 (2019/10/27)\MessageBreak + Please update 'polyglossia' to v1.49 (2020/04/08)\MessageBreak or later.\MessageBreak Variant detection will not work properly with\MessageBreak older versions}}} @@ -361,11 +394,19 @@ {}} {}} {}% - \apptocmd\@floatboxreset - {\boolfalse{citetracker}% - \boolfalse{pagetracker}} + \iftoggle{blx@trackfloats} {} - {\blx@err@patch{floats}}% + {\apptocmd\@floatboxreset + {\boolfalse{citetracker}% + \boolfalse{pagetracker}} + {} + {\blx@err@patch{floats}}}% + \iftoggle{blx@backreffloats} + {} + {\apptocmd\@floatboxreset + {\boolfalse{backtracker}} + {} + {\blx@err@patch{floats}}}% \ifdef\TX@endtabularx % tabularx/memoir {\pretocmd\TX@endtabularx {\addtocounter{tabx@nest}{1}}% track nested tabularx environments @@ -501,8 +542,13 @@ \iftoggle{blx@autolangcite} {\let\blx@beglangcite\blx@beglang} {}% + % babel/polyglossia has loaded the (main document) language already, + % so we need to explicitly enable our captions (abx@strings@) + % and extras (abx@extras@) now + \toggletrue{blx@lang@captions@\blx@languagename}% \csuse{abx@extras@\blx@languagename}% \csuse{abx@strings@\blx@languagename}% + % avoid accidental re-initialization \undef\blx@mkautolangbabel \undef\blx@mkautolangpoly \undef\blx@mknoautolang @@ -515,26 +561,35 @@ {}% } +% our copy of \addtocontents with \immediate (not @protected, +% so a bit different, but we are only going to use it for very +% specific input, so that doesn't matter) +\def\blx@immediate@addtocontents#1#2{% + \blx@auxwrite\@auxout + {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble}% + {\string\@writefile{#1}{#2}}} -\begingroup -\@makeother\# -% \relax: gobble newline -> titletoc.sty -\AtEndPreamble{% - \addtocontents{toc}{% +\AtBeginDocument{% + \blx@immediate@addtocontents{toc}{% \boolfalse{citerequest}% \boolfalse{citetracker}% \boolfalse{pagetracker}% \boolfalse{backtracker}\relax}% - \addtocontents{lof}{% + \blx@immediate@addtocontents{lof}{% \boolfalse{citerequest}% \boolfalse{citetracker}% \boolfalse{pagetracker}% \boolfalse{backtracker}\relax}% - \addtocontents{lot}{% + \blx@immediate@addtocontents{lot}{% \boolfalse{citerequest}% \boolfalse{citetracker}% \boolfalse{pagetracker}% - \boolfalse{backtracker}\relax}% + \boolfalse{backtracker}\relax}} + +\begingroup +\@makeother\# +% \relax: gobble newline -> titletoc.sty +\AtEndPreamble{% \patchcmd\addtocontents {\string\@writefile} {\string\@writefile{#1}{\defcounter{refsection}{\the\c@refsection}\relax}% @@ -543,6 +598,7 @@ {\blx@err@patch{\string\addtocontents}}} \endgroup + % trick hyperref into believing we're natbib \let\NAT@parse\@empty % trick showkeys into believing we're havard @@ -576,10 +632,52 @@ \ifundef\pdf@mdfivesum {\let\blx@mdfivesum\@firstofone \blx@warning@noline{Command '\string\pdf@mdfivesum' undefined.\MessageBreak - 'labelprefix' may not be able to accept all input}} + 'labelprefix' may not be able to accept all input.\MessageBreak + The command is available (via 'pdftexcmds')\MessageBreak + in recent versions of pdfTeX, LuaTeX and XeTeX}} {\let\blx@mdfivesum\pdf@mdfivesum} +\ifundef\pdf@filemdfivesum + {\blx@warning@noline{Command '\string\pdf@filemdfivesum' undefined.\MessageBreak + Biber rerun detection may not work as expected.\MessageBreak + The command is available (via 'pdftexcmds')\MessageBreak + in recent versions of pdfTeX, LuaTeX and XeTeX}% + \let\blx@generate@bbl@mdfivesum@found\relax + \let\blx@generate@bbl@mdfivesum@notfound\relax + \let\blx@aux@read@bbl@mdfivesum\@gobble + \let\blx@aux@write@bbl@mdfivesum\relax + \let\blx@check@bbl@rerun@mdfivesum\relax} + {\let\blx@filemdfivesum\pdf@filemdfivesum + + \def\blx@generate@bbl@mdfivesum@found{% + \xdef\blx@bbl@mdfivesum@new{\blx@filemdfivesum{\jobname.bbl}}} + + \def\blx@generate@bbl@mdfivesum@notfound{% + \gdef\blx@bbl@mdfivesum@new{nobblfile}} + + \def\blx@aux@read@bbl@mdfivesum{% + \gdef\blx@bbl@mdfivesum@old} + + % If we need Biber to rerun, save the hash of the current .bbl. + % That way we can detect if the Biber rerun really happened when + % we run LaTeX the next time. + \def\blx@aux@write@bbl@mdfivesum{% + \iftoggle{blx@runbiber} + {\blx@auxwrite\@mainaux{}{% + \string\blx@aux@read@bbl@mdfivesum{\blx@bbl@mdfivesum@new}}} + {}} + + % There was a Biber rerun request last time (\blx@bbl@mdfivesum@old), + % yet the bbl files are the same (as far as md5 hashes are concerned), + % that means *no* Biber rerun happened. + % So we need to re-request a rerun. + \def\blx@check@bbl@rerun@mdfivesum{% + \ifdefstrequal\blx@bbl@mdfivesum@old\blx@bbl@mdfivesum@new + {\blx@logreq@active{}} + {}}} + + % xstring replacements % reverse a given string @@ -712,6 +810,7 @@ \newcount\blx@parenlevel@foot \expandafter\newcount\csname blx@sectionciteorder@0\endcsname \newcount\blx@entrysetcounter +\newcount\blx@biblioinstance \def\blx@uniquename{false} \def\blx@uniquelist{false} @@ -1087,10 +1186,15 @@ {\blx@info@noline{Trying to load #2..}% \IfFileExists{#1} {\blx@info@noline{... file '#1' found}% - #3\@@input\@filef@und#4#5% + \csuse{blx@filehook@preload@#1}% + #3\@@input\@filef@und#4% + \csuse{blx@filehook@postload@#1}% + #5% \listxadd\blx@list@req@stat{#1}% \@addtofilelist{#1}} - {\blx@info@noline{... file '#1' not found}#6}% + {\blx@info@noline{... file '#1' not found}% + \csuse{blx@filehook@failure@#1}% + #6}% \global\cslet{blx@file@#1}\@empty} {#5}} @@ -1151,21 +1255,23 @@ \detokenize{" xmlns:bcf="https://sourceforge.net/projects/biblatex">}} % {<true>}{<false>} -\newrobustcmd*{\lbx@ifutfinput}{\ifboolexpr{% - test {\ifdefstring\inputencodingname{utf8}} - or - test {\ifdefstring\inputencodingname{utf8x}} - or - test {\ifdefstring\inputencodingname{lutf8}} - or - ( test {\ifundef\inputencodingname} - and - ( not test {\ifundef\XeTeXrevision} - or - not test {\ifundef\luatexversion} +\newrobustcmd*{\lbx@ifutfinput}{% + \ifboolexpr{% + test {\ifdefstring\inputencodingname{utf8}} + or + test {\ifdefstring\inputencodingname{utf8x}} + or + test {\ifdefstring\inputencodingname{lutf8}} + or + ( test {\ifundef\inputencodingname} + and + ( not test {\ifundef\XeTeXrevision} + or + not test {\ifundef\luatexversion} + ) ) - ) -}} + }% +} %% More user feedback \protected\def\blx@warning@entry#1{% @@ -1320,7 +1426,7 @@ \protected\def\blx@warn@nostring#1{% \blx@warning@entry{Bibliography string '#1' - \ifcsundef{KV@blx@lbx@#1}{undefined}{untranslated}}% + \blx@kv@ifkeyundef{blx@lbx}{#1}{undefined}{untranslated}}% \abx@missing{#1}} \def\blx@warn@conflopt#1{% @@ -1459,6 +1565,7 @@ \global\toggletrue{blx@runbiber}% \global\let\blx@rerun@biber\relax} + \let\blx@checksum@old\@empty \let\blx@checksum@new\@empty \let\blx@pagesum@old\@empty @@ -1511,14 +1618,10 @@ \endgroup} \def\blx@warn@auxlist{% - \begingroup - \edef\blx@tempa{% - Please (re)run Biber on the file:\MessageBreak - \jobname}% \blx@warning@noline{% - \blx@tempa\MessageBreak - and rerun LaTeX afterwards}% - \endgroup} + Please (re)run Biber on the file:\MessageBreak + \jobname\MessageBreak + and rerun LaTeX afterwards}} \AfterEndDocument{% \blx@check@rerun @@ -1603,6 +1706,12 @@ \sfcode`\?=3002 } +\def\abx@dosingleaccents{% + \do\"\do\'\do\`\do\^\do\~\do\=\do\.% + \do\H\do\b\do\c\do\d\do\r\do\u\do\v} +\def\abx@dodoubleaccents{% + \do\t} + % Defining characters that count as prefices in names like d'Argent % Code from moewe \let\blx@prefchars\@empty @@ -1909,7 +2018,7 @@ \newrobustcmd*{\autocap}[1]{#1} \protected\def\blx@imc@autocap{% - \blx@imc@ifcapital\MakeUppercase\@firstofone} + \blx@imc@ifcapital\MakeCapital\@firstofone} \protected\def\blx@imc@nopunct{% \leavevmode\spacefactor\blx@sf@nopunct} @@ -2055,8 +2164,15 @@ \providerobustcmd*{\nohyphenation}{% \language\blx@langwohyphens} -\providerobustcmd*{\textnohyphenation}[1]{% - \bgroup\nohyphenation#1\egroup} +% work around odd XeTeX/babel-french behaviour +% https://github.com/plk/biblatex/issues/979 +% fix by Ulrike Fischer +% https://tex.stackexchange.com/a/544914/ +\ifundef\XeTeXrevision + {\providerobustcmd*{\textnohyphenation}[1]{% + \bgroup\nohyphenation#1\egroup}} + {\providerobustcmd*{\textnohyphenation}[1]{% + \bgroup\nohyphenation#1\egroup^^^^200b}} \blx@regimcs{% \setpunctfont \resetpunctfont \ifcapital \autocap \ifpunctmark @@ -2447,17 +2563,26 @@ {\@secondoftwo} {\ifcsundef{abx@name@#2} {\@secondoftwo} - {\blx@ifnamesequal{#1}{#2}}}} + {\blx@ifnamesequalcscs{abx@name@#1}{abx@name@#2}}}} + +\def\blx@ifnamesequalcscs#1#2{% + \expandafter\expandafter\expandafter\blx@ifnamesequaldefdef + \expandafter\expandafter\expandafter{% + \expandafter\csname\expandafter #1\expandafter\endcsname + \expandafter}% + \expandafter{\csname #2\endcsname}} -\def\blx@ifnamesequal#1#2{% +\def\blx@ifnamesequalcsdef#1#2{% + \expandafter\blx@ifnamesequaldefdef\expandafter{% + \csname #1\endcsname}{#2}} + +\def\blx@ifnamesequaldefdef#1#2{% \begingroup \let\blx@tempa\@empty - \expandafter\expandafter - \expandafter\blx@ifnamesequal@i\csname abx@name@#2\endcsname + \expandafter\blx@ifnamesequal@i#2% \let\blx@tempb\blx@tempa \let\blx@tempa\@empty - \expandafter\expandafter - \expandafter\blx@ifnamesequal@i\csname abx@name@#1\endcsname + \expandafter\blx@ifnamesequal@i#1% \expandafter\endgroup \ifx\blx@tempa\blx@tempb \expandafter\@firstoftwo @@ -2477,47 +2602,39 @@ % 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}% + \blx@kv@setkeys{blx@opt@name}{#1}% + \blx@kv@setkeys{blx@opt@namepart}{#2}% \ifdef\abx@field@hash {\eappto\blx@tempa{{\abx@field@hash}}} {\eappto\blx@tempa{{{\namepartfamily}{\namepartgiven}{\namepartprefix}{\namepartsuffix}}}}} -% {<field>}{<macro>}{<true>}{<false>} -\def\blx@imc@iffieldequals#1#2{% - \blx@imc@iffieldundef{#1} +% {<csname>}{<def>}{<true>}{<false>} +\newcommand*{\blx@ifcsdefequal}[2]{% + \ifcsundef{#1} {\@secondoftwo} {\ifundef#2% {\@secondoftwo} - {\expandafter\ifx\csname abx@field@#1\endcsname#2% + {\expandafter\ifx\csname#1\endcsname#2% \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi}}} +% {<field>}{<macro>}{<true>}{<false>} +\def\blx@imc@iffieldequals#1#2{% + \blx@ifcsdefequal{abx@field@#1}{#2}} + % {<plainlist>}{<macro>}{<true>}{<false>} \def\blx@imc@iflistequals#1#2{% - \blx@imc@iflistundef{#1} - {\@secondoftwo} - {\ifundef#2% - {\@secondoftwo} - {\expandafter\ifx\csname abx@list@#1\endcsname#2% - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi}}} + \blx@ifcsdefequal{abx@list@#1}{#2}} % {<namelist>}{<macro>}{<true>}{<false>} -\def\blx@imc@ifnameequals#1#2{% FIXME +\def\blx@imc@ifnameequals#1#2{% \blx@imc@ifnameundef{#1} {\@secondoftwo} {\ifundef#2% {\@secondoftwo} - {\expandafter\ifx\csname abx@name@#1\endcsname#2% - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi}}} + {\blx@ifnamesequalcsdef{abx@name@#1}{#2}}}} % {<field>}{<csname>}{<true>}{<false>} \def\blx@imc@iffieldequalcs#1{% @@ -2528,8 +2645,12 @@ \ifcsequal{abx@list@#1}} % {<namelist>}{<csname>}{<true>}{<false>} -\def\blx@imc@ifnameequalcs#1{% FIXME - \ifcsequal{abx@name@#1}} +\def\blx@imc@ifnameequalcs#1#2{% + \blx@imc@ifnameundef{#1} + {\@secondoftwo} + {\ifcsundef{#2} + {\@secondoftwo} + {\blx@ifnamesequalcscs{abx@name@#1}{#2}}}} % {<field>}{<string>}{<true>}{<false>} \protected\long\def\blx@imc@iffieldequalstr#1#2{% @@ -2671,17 +2792,25 @@ \expandafter\@secondoftwo \fi}}} + % {<true>}{<false>} +%\def\blx@imc@iffirstcitekey{% +% \ifboolexpr{ ( test {\ifnumequal\c@multicitetotal\z@} +% and test {\ifnumequal\c@citecount\@ne} ) +% or ( test {\ifnumgreater\c@multicitetotal\z@} +% and test {\ifnumequal\c@multicitecount\@ne} +% and test {\ifnumequal\c@citecount\@ne} ) }} \def\blx@imc@iffirstcitekey{% - \ifboolexpr{ ( test {\ifnumequal\c@multicitetotal\z@} - and test {\ifnumequal\c@citecount\@ne} ) - or ( test {\ifnumgreater\c@multicitetotal\z@} - and test {\ifnumequal\c@multicitecount\@ne} - and test {\ifnumequal\c@citecount\@ne} ) }} + \ifnumequal\c@citecount\@ne + {\ifnumequal\c@multicitetotal\z@ + {\@firstoftwo} + {\ifnumequal\c@multicitecount\@ne}} + {\@secondoftwo}} \def\blx@imc@iflastcitekey{% - \ifboolexpr{ test {\ifnumequal\c@citecount\c@citetotal} - and test {\ifnumequal\c@multicitecount\c@multicitetotal} }} + \ifnumequal\c@citecount\c@citetotal + {\ifnumequal\c@multicitecount\c@multicitetotal} + {\@secondoftwo}} % {<category>}{<true>}{<false>} \protected\def\blx@imc@ifcategory{% @@ -2970,7 +3099,7 @@ \begingroup \def\do##1{\uccode`##1=`\%}% \do\0\do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9% - \makeatletter + \catcode`\@=11 \catcode`\%=9 \endlinechar\m@ne \uppercase{\scantokens{\def\blx@tempa{#1}}}% @@ -3007,7 +3136,7 @@ \ifx\blx@tempa\@empty \aftergroup\@secondoftwo \else - \makeatletter + \catcode`\@=11 \catcode`\%=9 \endlinechar\m@ne \everyeof{\noexpand}#1% @@ -3157,6 +3286,12 @@ \newrobustcmd*{\NumCheckSetup}{\appto\blx@hook@ifnum} \newcommand*{\NumcheckSetup}{\NumCheckSetup} +\newrobustcmd*{\NumsCheckSetup}{\appto\blx@hook@ifnums} + +\newrobustcmd*{\PagesCheckSetup}{\appto\blx@hook@ifpages} + +\PagesCheckSetup{\let\pnfmt\@firstofone} + % [<pagination>][<postpro>]{<string>} \newrobustcmd*{\blx@imc@mkpageprefix}[1][pagination]{% \begingroup @@ -3180,7 +3315,7 @@ {\bibstring{#1s}\ppspace} {\def\pno{\bibstring{#1}}% \def\ppno{\bibstring{#1s}}}}% - \blx@mkpageprefix@i[#2]{#3}} + \blx@mkpageprefix@i[{#2}]{#3}} \long\def\blx@mkpageprefix@i[#1]#2{#1{#2}\endgroup} @@ -3243,7 +3378,7 @@ \@ifnextchar[{\blx@range@aux@i#1}{#1[\@firstofone][\@firstofone]}} \def\blx@range@aux@i#1[#2]{% - \@ifnextchar[{#1[#2]}{#1[#2][\@firstofone]}} + \@ifnextchar[{#1[{#2}]}{#1[{#2}][\@firstofone]}} \def\blx@normrange@i[#1][#2]#3{% \let\blx@tempa\@empty @@ -3301,9 +3436,9 @@ % Unicode en-dashes are supported in blx-unicode.def \def\blx@genrange@split#1{% - \edef\blx@normrange@abort{% + \protected@edef\blx@normrange@abort{% \blx@range@out@value{% - \expandonce\blx@range@out@item@process{\unexpanded{#1}}}}% + \blx@range@out@item@process{\unexpanded{#1}}}}% \blx@imc@ifpages{#1} {\blx@normrange@range#1\bibrangedash\bibrangedash&} {\blx@normrange@abort}} @@ -3313,17 +3448,17 @@ {\blx@normrange@hyphen#1--&} {\ifblank{#2} {\begingroup - \edef\blx@tempc{\endgroup + \protected@edef\blx@tempc{\endgroup \blx@range@out@value{% - \expandonce\blx@range@out@item@process{\unexpanded{#1}}% + \blx@range@out@item@process{\unexpanded{#1}}% \noexpand\bibrangedash}}% \blx@tempc} {\ifblank{#1} {\begingroup - \edef\blx@tempc{\endgroup + \protected@edef\blx@tempc{\endgroup \blx@range@out@value{% \noexpand\bibrangedash - \expandonce\blx@range@out@item@process{% + \blx@range@out@item@process{% \unexpanded{#2}}}}% \blx@tempc} {\blx@range@process{#1}{#2}}}}} @@ -3338,10 +3473,10 @@ \blx@normrange@hyphen@i#3&} {\ifblank{#1} {\begingroup - \edef\blx@tempc{\endgroup + \protected@edef\blx@tempc{\endgroup \blx@range@out@value{% \noexpand\bibrangedash - \expandonce\blx@range@out@item@process{% + \blx@range@out@item@process{% \unexpanded{#2}}}}% \blx@tempc} {\blx@range@process{#1}{#2}}}}} @@ -3349,18 +3484,18 @@ \def\blx@normrange@hyphen@i#1-#2&{% \ifblank{#1#2} {\begingroup - \edef\blx@tempc{\endgroup + \protected@edef\blx@tempc{\endgroup \blx@range@out@value{% - \expandonce\blx@range@out@item@process{\expandonce\blx@tempb}% + \blx@range@out@item@process{\expandonce\blx@tempb}% \noexpand\bibrangedash}}% \blx@tempc} {\notblank{#1} {\ifdefempty\blx@tempb {\begingroup - \edef\blx@tempc{\endgroup + \protected@edef\blx@tempc{\endgroup \blx@range@out@value{% \noexpand\bibrangedash - \expandonce\blx@range@out@item@process{% + \blx@range@out@item@process{% \unexpanded{#1}}}}% \blx@tempc} {\expandafter\blx@range@process @@ -3369,11 +3504,11 @@ \def\blx@normrange@process#1#2{% \begingroup - \edef\blx@tempc{\endgroup + \protected@edef\blx@tempc{\endgroup \blx@range@out@value{% - \expandonce\blx@range@out@item@process{\unexpanded{#1}}% + \blx@range@out@item@process{\unexpanded{#1}}% \noexpand\bibrangedash - \expandonce\blx@range@out@item@process{\unexpanded{#2}}}}% + \blx@range@out@item@process{\unexpanded{#2}}}}% \blx@tempc} % <*>[<postpro>]{<string>} @@ -3414,11 +3549,11 @@ {\@secondoftwo} {\blx@comprange@comp{#1}{#2}} {\begingroup - \edef\blx@tempc{\endgroup + \protected@edef\blx@tempc{\endgroup \blx@range@out@value{% - \expandonce\blx@range@out@item@process{\unexpanded{#1}}% + \blx@range@out@item@process{\unexpanded{#1}}% \noexpand\bibrangedash - \expandonce\blx@range@out@item@process{\unexpanded{#2}}}}% + \blx@range@out@item@process{\unexpanded{#2}}}}% \blx@tempc}} \def\blx@comprange@comp#1#2{% @@ -3450,11 +3585,11 @@ \numdef\blx@tempc\blx@tempd \fi \begingroup - \edef\blx@tempb{\endgroup + \protected@edef\blx@tempb{\endgroup \blx@range@out@value{% - \expandonce\blx@range@out@item@process{\blx@tempb}% + \blx@range@out@item@process{\blx@tempb}% \noexpand\bibrangedash - \expandonce\blx@range@out@item@process{\blx@tempc}}}% + \blx@range@out@item@process{\blx@tempc}}}% \blx@tempb} \def\blx@comprange@comp@div{% @@ -3508,9 +3643,9 @@ % Unicode en-dashes are supported in blx-unicode.def \def\blx@firstpage@split#1{% - \edef\blx@firstpage@abort{% + \protected@edef\blx@firstpage@abort{% \blx@range@out@value{% - \expandonce\blx@range@out@item@process{\unexpanded{#1}}}}% + \blx@range@out@item@process{\unexpanded{#1}}}}% \blx@firstpage@range#1\bibrangedash\bibrangedash&} \def\blx@firstpage@range#1\bibrangedash#2\bibrangedash#3&{% @@ -3518,15 +3653,15 @@ {\blx@firstpage@hyphen#1--&} {\ifblank{#1} {\begingroup - \edef\blx@tempc{\endgroup + \protected@edef\blx@tempc{\endgroup \blx@range@out@value{% \noexpand\bibrangedash - \expandonce\blx@range@out@item@process{\unexpanded{#2}}}}% + \blx@range@out@item@process{\unexpanded{#2}}}}% \blx@tempc} {\begingroup - \edef\blx@tempc{\endgroup + \protected@edef\blx@tempc{\endgroup \blx@range@out@value{% - \expandonce\blx@range@out@item@process{\unexpanded{#1}}}}% + \blx@range@out@item@process{\unexpanded{#1}}}}% \blx@tempc}}} \def\blx@firstpage@hyphen#1-#2-#3&{% @@ -3536,16 +3671,16 @@ {\ifblank{#2} {\blx@firstpage@hyphen@i#3&} {\begingroup - \edef\blx@tempc{\endgroup + \protected@edef\blx@tempc{\endgroup \blx@range@out@value{% \noexpand\bibrangedash - \expandonce\blx@range@out@item@process{% + \blx@range@out@item@process{% \unexpanded{#2}}}}% \blx@tempc}} {\begingroup - \edef\blx@tempc{\endgroup + \protected@edef\blx@tempc{\endgroup \blx@range@out@value{% - \expandonce\blx@range@out@item@process{\unexpanded{#1}}}}% + \blx@range@out@item@process{\unexpanded{#1}}}}% \blx@tempc}}} \def\blx@firstpage@hyphen@i#1-#2&{% @@ -3554,10 +3689,10 @@ {\blx@firstpage@abort} {\blx@firstpage@hyphen@i#2&}} {\begingroup - \edef\blx@tempc{\endgroup + \protected@edef\blx@tempc{\endgroup \blx@range@out@value{% \noexpand\bibrangedash - \expandonce\blx@range@out@item@process{% + \blx@range@out@item@process{% \unexpanded{#1}}}}% \blx@tempc}} @@ -3597,7 +3732,7 @@ \blx@cleardelim{#2}% \ifblank{#1} {\blx@declaredelim{#2}{#3}} - {\blx@declaredelim[#1]{#2}{#3}}} + {\blx@declaredelim[{#1}]{#2}{#3}}} \newrobustcmd*{\blx@declaredelim}[3][]{% \ifblank{#1} @@ -3615,13 +3750,71 @@ \csdef{#1##1}{#4}}% \forcsvlist{\do@i}{#3}} -% *[<alias context, ...>]{<alias>}[<delim context>]{<delim>} +% [<alias context, ...>]{<alias>}[<delim context>]{<delim>} +% deprecated: *[<alias context, ...>]{<alias>}[<delim context>]{<delim>} +% the starred version is only implemented for backwards compatibility +% the only difference is that a missing first argument +% implies the global/empty context \newrobustcmd*{\DeclareDelimAlias}{% \@ifstar - {\blx@declaredelimalias@expl} - {\blx@declaredelimalias@auto}} + {\blx@declaredelimalias@s} + {\blx@declaredelimalias@a}} -\newrobustcmd*{\blx@declaredelimalias@auto}[2]{% +\def\blx@declaredelimalias@s{% + \blx@warning{% + The starred command '\string\DeclareDelimAlias*' is\MessageBreak + deprecated.% + \MessageBreak + Use the unstarred version '\string\DeclareDelimAlias'\MessageBreak + instead}% + \@ifnextchar[%] + {\blx@declaredelimalias@om} + {\blx@declaredelimalias@om[]}} + +\def\blx@declaredelimalias@a{% + \@ifnextchar[%] + {\blx@declaredelimalias@om} + {\blx@declaredelimalias@m}} + +\def\blx@declaredelimalias@m#1{% + \@ifnextchar[%] + {\blx@declaredelimalias@mom{#1}} + {\blx@declaredelimalias@mm{#1}}} + +\def\blx@declaredelimalias@mm{% + \blx@declaredelimalias@auto} + +\def\blx@declaredelimalias@mom{% + \blx@declaredelimalias@omom[]} + +\def\blx@declaredelimalias@om[#1]#2{% + \@ifnextchar[%] + {\blx@declaredelimalias@omom[{#1}]{#2}} + {\blx@declaredelimalias@omm[{#1}]{#2}}} + +% hrmpf ... remember that \docsvlist doesn't do anthing for empty +% lists/list items +\def\blx@declaredelimalias@omom[#1]#2[#3]#4{% + \ifstrequal{#1}{*} + {\ifstrequal{#3}{*} + {\blx@declaredelimalias@auto{#2}{#4}} + {\blx@cleardelim{#1}% + \blx@declaredelimalias@manual{}{#2}{#3}{#4}}} + {\def\do##1{\blx@declaredelimalias@manual{##1}{#2}{#3}{#4}}% + \ifblank{#1} + {\do{}} + {\docsvlist{#1}}}} + +\def\blx@declaredelimalias@omm[#1]#2#3{% + \ifstrequal{#1}{*} + {\blx@declaredelimalias@auto{#2}{#3}} + {\def\do##1{\blx@declaredelimalias@manual{##1}{#2}{##1}{#3}}% + \ifblank{#1} + {\do{}} + {\docsvlist{#1}}}} + +% {<alias>}{<source>} +\def\blx@declaredelimalias@auto#1#2{% \blx@cleardelim{#1}% \blx@declaredelimalias@def{}{#1}{}{#2}% \ifcsvoid{blx@declaredelimcontexts@#2} @@ -3631,37 +3824,15 @@ {blx@printdelim@##1@}{#1}{blx@printdelim@##1@}{#2}}% \dolistcsloop{blx@declaredelimcontexts@#2}}} -\def\blx@declaredelimalias@expl{% - \@ifnextchar[%] - {\blx@declaredelimalias@expl@i} - {\blx@declaredelimalias@expl@i[]}} - -\def\blx@declaredelimalias@expl@i[#1]#2{% - \@ifnextchar[%] - {\blx@declaredelimalias@expl@iii{#1}{#2}} - {\blx@declaredelimalias@expl@ii{#1}{#2}}} - -\def\blx@declaredelimalias@expl@ii#1#2#3{% - \ifblank{#1} - {\blx@declaredelimalias@def{}{#2}{}{#3}} - {\def\do##1{% - \blx@declaredelimalias@def - {blx@printdelim@##1@}{#2}{blx@printdelim@##1@}{#3}}% - \docsvlist{#1}}} - -\def\blx@declaredelimalias@expl@iii#1#2[#3]#4{% +% {<alias context>}{<alias>}{<source context>}{<source>} +\def\blx@declaredelimalias@manual#1#2#3#4{% \ifblank{#1} {\ifblank{#3} {\blx@declaredelimalias@def{}{#2}{}{#4}} {\blx@declaredelimalias@def{}{#2}{blx@printdelim@#3@}{#4}}} {\ifblank{#3} - {\def\do##1{% - \blx@declaredelimalias@def - {blx@printdelim@##1@}{#2}{}{#4}}} - {\def\do##1{% - \blx@declaredelimalias@def - {blx@printdelim@##1@}{#2}{blx@printdelim@#3@}{#4}}}% - \docsvlist{#1}}} + {\blx@declaredelimalias@def{blx@printdelim@#1@}{#2}{}{#4}}} + {\blx@declaredelimalias@def{blx@printdelim@#1@}{#2}{blx@printdelim@#3@}{#4}}} \def\blx@declaredelimalias@def#1#2#3#4{% \ifcsdef{#1#2} @@ -3707,6 +3878,7 @@ \blx@regimcs{\UseUsedriverHook} \AtUsedriver{% + \delimcontext{bib}% \let\finentry\blx@finentry@usedrv \let\newblock\relax \let\abx@macro@bibindex\@empty @@ -3715,7 +3887,6 @@ % {<init>}{<entrytype>} \protected\def\blx@imc@usedriver#1#2{% \begingroup - \delimcontext{bib}% \csuse{blx@hook@usedriver}% \csuse{blx@hook@bbxinit}#1% \blx@beglangbib @@ -3830,37 +4001,75 @@ \def\ifentrycategory{\blx@imc@ifentrycategory} \def\ifentrykeyword{\blx@imc@ifentrykeyword} + \def\blx@imc@iflabeldateisdate{% - \ifboolexpr{% - togl {blx@labeldateparts} - and not test {\iffieldundef{labeldatesource}} - and - (test {\iffieldequalstr{labeldatesource}{}} - or test {\iffieldequalstr{labeldatesource}{year}})}} + \iftoggle{blx@labeldateparts} + {\iffieldundef{labeldatesource} + {\@secondoftwo} + {\iffieldequalstr{labeldatesource}{} + {\@firstoftwo} + {\iffieldequalstr{labeldatesource}{year}}}} + {\@secondoftwo}} + \def\blx@imc@ifdatehasyearonlyprecision#1{% - \ifboolexpr{not test {\iffieldundef{#1year}} - and (test {\ifcsstring{blx@dateformat@#1date}{year}} - or (test {\iffieldundef{#1month}} - and test {\iffieldundef{#1season}}))}} + \iffieldundef{#1year} + {\@secondoftwo} + {\ifcsstring{blx@dateformat@#1date}{year} + {\@firstoftwo} + {\iffieldundef{#1month} + {\iffieldundef{#1season}} + {\@secondoftwo}}}} \def\blx@imc@ifdatehastime#1{% - \ifboolexpr{togl {blx@#1dateusetime} - and not test {\iffieldundef{#1hour}}}} + \iftoggle{blx@#1dateusetime} + {\iffieldundef{#1hour} + {\@secondoftwo} + {\@firstoftwo}} + {\@secondoftwo}} \def\blx@imc@ifdateshavedifferentprecision#1#2{% - \ifboolexpr{ (test {\ifdatehasyearonlyprecision{#1}} + \ifboolexpr{ ( test {\ifdatehasyearonlyprecision{#1}} and not test {\ifdatehasyearonlyprecision{#2}}) - or (not test {\ifdatehasyearonlyprecision{#1}} - and test {\ifdatehasyearonlyprecision{#2}}) - or (test {\ifdatehastime{#1}} + or ( not test {\ifdatehasyearonlyprecision{#1}} + and test {\ifdatehasyearonlyprecision{#2}}) + or ( test {\ifdatehastime{#1}} and not test {\ifdatehastime{#2}}) - or (not test {\ifdatehastime{#1}} - and test {\ifdatehastime{#2}})}} + or ( not test {\ifdatehastime{#1}} + and test {\ifdatehastime{#2}})}} \def\blx@imc@ifdateyearsequal#1#2{% - \ifboolexpr{ test {\iffieldsequal{#1year}{#2year}} - and test {\iffieldsequal{#1dateera}{#2dateera}}}} + \iffieldsequal{#1year}{#2year} + {\iffieldundef{#1dateera} + {\iffieldundef{#2dateera}} + {\iffieldsequal{#1dateera}{#2dateera}}} + {\@secondoftwo}} + +\def\blx@reconstruct@comparabledate#1{% + \thefield{#1year}-\thefield{#1month}(\thefield{#1season})-% + \thefield{#1day}T% + \thefield{#1hour}:\thefield{#1minute}:\thefield{#1second}Z% + \thefield{#1timezone}//% + e\thefield{#1dateera}E% + c\csuse{if#1datecirca}{T}{F}% + j\csuse{if#1datejulian}{T}{F}% + r\csuse{if#1dateuncertain}{T}{F}% + k\csuse{if#1dateunknown}{T}{F}% +} + +\def\blx@imc@ifdatesequal#1#2{% + \begingroup + \edef\blx@tempa{\blx@reconstruct@comparabledate{#1}}% + \edef\blx@tempb{\blx@reconstruct@comparabledate{#2}}% + \edef\blx@tempc{\endgroup + \ifstrequal{\blx@tempa}{\blx@tempb}}% + \blx@tempc +} + +\def\blx@imc@ifdaterangesequal#1#2{% + \blx@imc@ifdatesequal{#1}{#2} + {\blx@imc@ifdatesequal{#1end}{#2end}} + {\@secondoftwo}} \blx@regimcs{% \ifdriver \thefield \strfield \csfield \usefield \thelist \strlist @@ -3881,7 +4090,7 @@ \iffieldint \iffieldnum \iffieldnums \iffieldpages \iflabeldateisdate \ifdatehasyearonlyprecision \ifdatehastime \ifdateshavedifferentprecision - \ifdateyearsequal + \ifdateyearsequal \ifdatesequal \ifdaterangesequal \mkpageprefix \mkpagetotal \newblock \newunit \setunit \printunit \finentry} @@ -3927,279 +4136,6 @@ %% Global formatting hooks -% capitalization - -% {<text>} -\newrobustcmd{\MakeCapital}[1]{% - \begingroup - \blx@mkcp@init - \protected@edef\blx@tempa{#1}% - \expandafter\blx@mkcp@parse\blx@tempa\@empty\blx@mkcp@end} - -\def\blx@mkcp@init{% - \def\blx@mkcp@iec{\noexpand\blx@mkcp@iec\noexpand}% - \def\blx@mkcp@bbl{\noexpand\blx@mkcp@bbl\noexpand}% - \def\blx@mkcp@sgl{\noexpand\blx@mkcp@sgl\noexpand}% - \def\blx@mkcp@dbl{\noexpand\blx@mkcp@dbl\noexpand}% - \def\do##1{\def##1{\blx@mkcp@sgl##1}}\abx@dosingleaccents - \def\do##1{\def##1{\blx@mkcp@dbl##1}}\abx@dodoubleaccents - \def\IeC##1{\blx@mkcp@iec\IeC{##1}}% - \def\@tabacckludge##1{% - \expandafter\blx@mkcp@sgl\csname\string##1\endcsname}} - -\begingroup -\catcode`\"=\active -\gappto\blx@mkcp@init{% - \ifnum\catcode`\"=\active - \def"#1{\blx@mkcp@bbl"\noexpand#1}% - \fi} -\endgroup - -\def\blx@mkcp@parse{% - \futurelet\@let@token\blx@mkcp@eval} - -\long\def\blx@mkcp@eval{% - \ifx\@let@token\blx@mkcp@iec - \expandafter\blx@mkcp@getiec - \fi - \ifx\@let@token\blx@mkcp@bbl - \expandafter\blx@mkcp@gettwo - \fi - \ifx\@let@token\blx@mkcp@sgl - \expandafter\blx@mkcp@gettwo - \fi - \ifx\@let@token\blx@mkcp@dbl - \expandafter\blx@mkcp@getthree - \fi - \blx@mkcp@case} - -\def\blx@mkcp@getiec#1\blx@mkcp@case#2#3#4{% - \blx@mkcp@case{#2#3{#4}}} - -\def\blx@mkcp@gettwo#1\blx@mkcp@case#2#3#4{% - \blx@mkcp@case{#2#3#4}} - -\def\blx@mkcp@getthree#1\blx@mkcp@case#2#3#4#5{% - \blx@mkcp@case{#2#3#4#5}} - -\long\def\blx@mkcp@case#1{% - \begingroup - \def\i{I}\def\j{J}% - \def\do##1##2{\let##1##2\do}% - \expandafter\do\@uclclist\relax{\relax\@gobble}% - \uppercase{\protected@edef\blx@tempa{\endgroup\blx@mkcp@end#1}}% - \blx@tempa} - -\protected\long\def\blx@mkcp@end#1\blx@mkcp@end{% - \let\blx@mkcp@iec\noexpand - \let\blx@mkcp@bbl\noexpand - \let\blx@mkcp@sgl\noexpand - \let\blx@mkcp@dbl\noexpand - \protected@edef\blx@tempa{\endgroup#1}% - \blx@tempa} - -\def\abx@dosingleaccents{% - \do\"\do\'\do\`\do\^\do\~\do\=\do\.% - \do\H\do\b\do\c\do\d\do\r\do\u\do\v} -\def\abx@dodoubleaccents{% - \do\t} - -% {<text>} -\newrobustcmd*{\MakeSentenceCase}{% - \@ifstar\blx@mksc@i\blx@mksc@ii} - -% Check, in order: -% * explicit option language=<lang>, which overrides everything -% * langid field of entry -% * babel/polyglossia lang -% * main document lang -\def\blx@mksc@i{% - \ifdef\blx@forcelanguagename - {\xifinlist\blx@forcelanguagename\blx@cmksc@lang - {\blx@mksc@ii} - {\@firstofone}} - {\ifdef\abx@field@langid - {\xifinlist\abx@field@langid\blx@cmksc@lang - {\blx@mksc@ii} - {\@firstofone}} - {\ifdef\blx@main@language - {\xifinlist\blx@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 - \let\blx@tempa\@empty - \let\blx@tempb\@empty - \blx@mksc@init - \protected@edef\@tempa{#1}% - \expandafter\blx@mksc@parse\@tempa\blx@mksc@end} - -\def\blx@mksc@init{% - \blx@mkcp@init - \def\blx@mkcp@nil{\noexpand\blx@mkcp@nil\noexpand}% - \def\i{\blx@mkcp@nil\i}\def\j{\blx@mkcp@nil\j}% - \def\do##1{% - \ifx##1\relax - \else - \def##1{\blx@mkcp@nil##1}% - \expandafter\do - \fi}% - \expandafter\do\@uclclist\relax} - -\def\blx@mksc@parse{% - \futurelet\@let@token\blx@mksc@eval} - -\def\blx@mksc@eval{% - \ifx\@let@token\blx@mksc@end - \expandafter\blx@mksc@end - \fi - \ifx\@let@token\bgroup - \expandafter\blx@mksc@group - \fi - \ifx\@let@token\@sptoken - \expandafter\blx@mksc@space - \fi - \ifx\@let@token\blx@mkcp@nil - \expandafter\blx@mksc@getone - \fi - \ifx\@let@token\blx@mkcp@iec - \expandafter\blx@mksc@getiec - \fi - \ifx\@let@token\blx@mkcp@bbl - \expandafter\blx@mksc@gettwo - \fi - \ifx\@let@token\blx@mkcp@sgl - \expandafter\blx@mksc@gettwo - \fi - \ifx\@let@token\blx@mkcp@dbl - \expandafter\blx@mksc@getthree - \fi - \if\noexpand\@let@token\relax - \expandafter\blx@mksc@cs - \fi - \blx@mksc@other} - -\def\blx@mksc@end#1\blx@mksc@end{% - \blx@mksc@eject - \let\blx@mkcp@nil\noexpand - \let\blx@mkcp@iec\noexpand - \let\blx@mkcp@bbl\noexpand - \let\blx@mkcp@sgl\noexpand - \let\blx@mkcp@dbl\noexpand - \let\MakeUppercase\relax - \let\MakeLowercase\relax - \protected@edef\blx@tempa{\endgroup\blx@tempa}% - \blx@tempa} - -\long\def\blx@mksc@group#1\blx@mksc@other#2{% - \futurelet\@let@token\blx@mksc@ingroup#2&{#2}% - \blx@mksc@endhead - \blx@mksc@parse} - -\long\def\blx@mksc@ingroup#1{% - \if\noexpand\@let@token\relax - \ifx\@let@token\blx@mkcp@sgl - \blx@mksc@nocase{{#2}}% - \else - \ifx\@let@token\blx@mkcp@dbl - \blx@mksc@nocase{{#2}}% - \else - \blx@mksc@locase{{#2}}% - \fi - \fi - \else - \blx@mksc@nocase{{#2}}% - \fi} - -\def\blx@mksc@space{\def\blx@mksc@space##1\blx@mksc@other} -\csuse{blx@mksc@space} {% - \blx@mksc@anycase{ }% - \blx@mksc@endhead - \blx@mksc@parse} - -\long\def\blx@mksc@cs#1\blx@mksc@other#2{% - \ifcat\noexpand~\noexpand#2% - \blx@mksc@locase{#2}% - \else - \blx@mksc@nocase{#2}% - \fi - \blx@mksc@endhead - \blx@mksc@parse} - -\def\blx@mksc@getiec#1\blx@mksc@other#2#3#4{% - \blx@mksc@other{#2#3{#4}}} - -\def\blx@mksc@getone#1\blx@mksc@other#2#3{% - \blx@mksc@other{#2#3}} - -\def\blx@mksc@gettwo#1\blx@mksc@other#2#3#4{% - \blx@mksc@other{#2#3#4}} - -\def\blx@mksc@getthree#1\blx@mksc@other#2#3#4#5{% - \blx@mksc@other{#2#3#4#5}} - -\long\def\blx@mksc@other#1{% - \blx@mksc@locase{#1}% - \blx@mksc@endhead - \blx@mksc@parse} - -\def\blx@mksc@locase{% - \appto\blx@tempb} - -\def\blx@mksc@nocase{% - \blx@mksc@eject - \appto\blx@tempa} - -\def\blx@mksc@anycase{% - \ifx\blx@tempb\@empty - \expandafter\appto - \expandafter\blx@tempa - \else - \expandafter\appto - \expandafter\blx@tempb - \fi} - -\def\blx@mksc@eject{% - \ifx\blx@tempb\@empty - \else - \eappto\blx@tempa{\noexpand\MakeLowercase{\expandonce\blx@tempb}}% - \let\blx@tempb\@empty - \fi} - -\def\blx@mksc@endhead{% - \ifx\blx@tempb\@empty - \else - \eappto\blx@tempa{\noexpand\MakeCapital{\expandonce\blx@tempb}}% - \let\blx@tempb\@empty - \fi - \let\blx@mksc@endhead\relax} - -% {<language,language,...>} -\newrobustcmd*{\DeclareCaseLangs}{% - \@ifstar - {\blx@defcaselangs} - {\global\let\blx@cmksc@lang\@empty - \blx@defcaselangs}} - -\def\blx@defcaselangs#1{% - \ifblank{#1} - {} - {\forcsvlist{\listgadd\blx@cmksc@lang}{#1}}} - -\DeclareCaseLangs{% - american,british,canadian, - english,USenglish,UKenglish, - australian,newzealand} - -\newrobustcmd*{\ifcaselang}[1][]{% - \ifblank{#1} - {\xifinlist\blx@languagename\blx@cmksc@lang} - {\xifinlist{#1}\blx@cmksc@lang}} - %% Main formatting commands % They work by creating a \let alias: % \abx@<class>@<entrytype>@<formatname> -> \blx@defformat@d @@ -4240,19 +4176,11 @@ \@ifstar {\blx@defformat\blx@defnameformat{nwd}*} {\blx@defformat\blx@defnameformat{nwd}{}}} -\newrobustcmd*{\DeclareIndexNameWrapperFormat}{% - \@ifstar - {\blx@defformat\blx@defnameformat{nxd}*} - {\blx@defformat\blx@defnameformat{nxd}{}}} \newrobustcmd*{\DeclareListWrapperFormat}{% \@ifstar {\blx@defformat\blx@defplainformat{lwd}*} {\blx@defformat\blx@defplainformat{lwd}{}}} -\newrobustcmd*{\DeclareIndexListWrapperFormat}{% - \@ifstar - {\blx@defformat\blx@defplainformat{lxd}*} - {\blx@defformat\blx@defplainformat{lxd}{}}} % {<macro>}{<class>}{<*>} \def\blx@defformat#1#2#3{% @@ -4260,8 +4188,8 @@ {\blx@defformat@i{#1}{#2}{#3}} {\blx@defformat@i{#1}{#2}{#3}[*]}} -% {<macro>}{<class>}{<*>}[<entrytype>]{<name>} -\def\blx@defformat@i#1#2#3[#4]#5{% +% {<macro>}{<class>}{<*>}[<entrytype>]{<name>}{<code>} +\def\blx@defformat@i#1#2#3[#4]#5#6{% \notblank{#3} {\blx@resetformat{#2}{#5}} {}% @@ -4269,7 +4197,7 @@ \def\blx@defformat@b{#4}% \blx@xsanitizeafter{\def\blx@defformat@c}{#5}% \afterassignment\blx@defformat@ii - #1} + #1{#6}} \def\blx@defformat@ii{% \expandafter\forcsvlist @@ -4366,10 +4294,8 @@ \newrobustcmd*{\DeclareIndexFieldAlias}{\blx@defalias{fid}} \newrobustcmd*{\DeclareNameWrapperAlias}{\blx@defalias{nwd}} -\newrobustcmd*{\DeclareIndexNameWrapperAlias}{\blx@defalias{nxd}} \newrobustcmd*{\DeclareListWrapperAlias}{\blx@defalias{lwd}} -\newrobustcmd*{\DeclareIndexListWrapperAlias}{\blx@defalias{lxd}} % #1: internal type signature, #2: type text for warning % #3 #4 #5 #6 @@ -4413,13 +4339,9 @@ \newrobustcmd*{\DeprecateNameWrapperFormatWithReplacement}{% \blx@deprecateformat{nwd}{Name wrapper format}} -\newrobustcmd*{\DeprecateIndexNameWrapperFormatWithReplacement}{% - \blx@deprecateformat{nxd}{Index name wrapper format}} \newrobustcmd*{\DeprecateListWrapperFormatWithReplacement}{% \blx@deprecateformat{lwd}{List wrapper format}} -\newrobustcmd*{\DeprecateIndexListWrapperFormatWithReplacement}{% - \blx@deprecateformat{lxd}{Index list wrapper format}} % [<format>]{<text>} \newrobustcmd{\blx@imc@printtext}[2][]{% @@ -4467,7 +4389,7 @@ \iftoggle{blx@loadfiles} {\IfFileExists{#2} {\listxadd\blx@list@req@edit{#2}% - \blx@imc@printtext[#1]{\input{#2}\unspace}} + \blx@imc@printtext[{#1}]{\input{#2}\unspace}} {\blx@nounit}} {\blx@nounit}} @@ -4547,17 +4469,17 @@ \c@uniquelist\z@ \ifblank{#1} {} - {\setkeys{blx@opt@namelist}{#1}}% + {\blx@kv@setkeys{blx@opt@namelist}{#1}}% \def\blx@thedata{#2}} % Biber-calculated info passed back to biblatex as an option in the .bbl % unlike stuff defined with \DeclareBiblatexOption and % \blx@DeclareBackendOption these are not 'real' options -\define@key{blx@opt@namelist}{ul}{\c@uniquelist#1\relax} +\blx@kv@defkey{blx@opt@namelist}{ul}{\c@uniquelist#1\relax} -\define@key{blx@opt@name}{un}{\c@uniquename#1\relax} -\define@key{blx@opt@name}{uniquepart}{\def\abx@field@uniquepart{#1}} -\define@key{blx@opt@name}{hash}{\edef\abx@field@hash{\detokenize{#1}}} +\blx@kv@defkey{blx@opt@name}{un}{\c@uniquename#1\relax} +\blx@kv@defkey{blx@opt@name}{uniquepart}{\def\abx@field@uniquepart{#1}} +\blx@kv@defkey{blx@opt@name}{hash}{\edef\abx@field@hash{\detokenize{#1}}} \newrobustcmd*{\bibinitperiod}{\adddot} @@ -4577,17 +4499,15 @@ \def\blx@indexnames#1#2#3#4{% \blx@imc@ifnameundef{#4} {} - {\blx@getformat\blx@thewrapperformat{nxd}{#1}{#4}% - \ifdefvoid\blx@thewrapperformat + {\blx@getformat\blx@theformat{nid}{#1}{#4}% + \ifdefvoid\blx@theformat {} - {\blx@getformat\blx@theformat{nid}{#1}{#4}% - \ifdefvoid\blx@theformat - {} - {\begingroup - \blx@namesetup{#2}{#3}{#4}% - \blx@indexnamesetup - \expandafter\blx@nameparser\blx@thedata{}&% - \endgroup}}}} + {\begingroup + \blx@namesetup{#2}{#3}{#4}% + \blx@indexnamesetup + \expandafter\blx@nameparser\blx@thedata{}&% + \endgroup}}} + \def\blx@indexnamesetup{% \let\bibinitperiod\bibindexinitperiod @@ -4618,13 +4538,13 @@ \begingroup \ifblank{#1} {} - {\setkeys{blx@opt@name}{#1}}% + {\blx@kv@setkeys{blx@opt@name}{#1}}% % reset all the nameparts to empty between names \def\do##1{% \cslet{namepart##1}\@empty \cslet{namepart##1i}\@empty}% \expandafter\docsvlist\expandafter{\blx@datamodel@constant@nameparts}% - \setkeys{blx@opt@namepart}{#2}% Extract nameparts information + \blx@kv@setkeys{blx@opt@namepart}{#2}% Extract nameparts information % Still pass the nameparts forward for backwards compat % When \nameparts is finally removed, remove the "{2}" and remove the % arg to \blx@defformat@d in def of \blx@defnameformat @@ -4687,16 +4607,13 @@ \def\blx@indexlist#1#2#3#4{% \blx@imc@iflistundef{#4} {} - {\blx@getformat\blx@thewrapperformat{lxd}{#1}{#4}% - \ifdefvoid\blx@thewrapperformat + {\blx@getformat\blx@theformat{lid}{#1}{#4}% + \ifdefvoid\blx@theformat {} - {\blx@getformat\blx@theformat{lid}{#1}{#4}% - \ifdefvoid\blx@theformat - {} - {\begingroup - \blx@listsetup{#2}{#3}{#4}% - \expandafter\blx@listparser\blx@thedata{}&% - \endgroup}}}} + {\begingroup + \blx@listsetup{#2}{#3}{#4}% + \expandafter\blx@listparser\blx@thedata{}&% + \endgroup}}} % {<item1>}{<item2>}{...} \long\def\blx@listparser#1{% @@ -4797,6 +4714,20 @@ %% Localization +% {<wrapper>}{<long/short>}{<string>}{<print code>} +% <print code> is executed when the bibstring is defined +% it differs between the \bib...string versions +% in <print code> \blx@tempa should be used as <string> +\protected\def\blx@met@bibstring#1#2#3#4{% + \blx@begunit + \blx@hyphenreset + \blx@bibstringsimple + \lowercase{\edef\blx@tempa{#3}}% + \ifcsundef{#2@\blx@tempa} + {\blx@warn@nostring\blx@tempa + \blx@endnounit} + {#4}} + % [<wrapper>]{<string>} \newrobustcmd*{\blx@imc@bibstring}[2][\@firstofone]{% \blx@bibstring{#1}{\abx@str}{#2}} @@ -4818,19 +4749,28 @@ \let\bibsstring\blx@imc@bibsstring} \protected\def\blx@bibstring#1#2#3{% - \blx@begunit - \blx@hyphenreset - \blx@bibstringsimple - \lowercase{\edef\blx@tempa{#3}}% - \ifcsundef{#2@\blx@tempa} - {\blx@warn@nostring\blx@tempa - \blx@endnounit} + \blx@met@bibstring{#1}{#2}{#3} {\blx@imc@ifcapital {#1{\MakeCapital{\csuse{#2@\blx@tempa}}}} {#1{\csuse{#2@\blx@tempa}}}% \blx@endunit}} % [<wrapper>]{<string>} +\newrobustcmd*{\blx@imc@bibncpstring}[2][\@firstofone]{% + \blx@bibncpstring{#1}{\abx@str}{#2}} + +\newrobustcmd*{\blx@imc@bibncplstring}[2][\@firstofone]{% + \blx@bibncpstring{#1}{abx@lstr}{#2}} + +\newrobustcmd*{\blx@imc@bibncpsstring}[2][\@firstofone]{% + \blx@bibncpstring{#1}{abx@sstr}{#2}} + +\protected\def\blx@bibncpstring#1#2#3{% + \blx@met@bibstring{#1}{#2}{#3} + {#1{\csuse{#2@\blx@tempa}}% + \blx@endunit}} + +% [<wrapper>]{<string>} \newrobustcmd*{\blx@imc@bibcpstring}[2][\@firstofone]{% \blx@bibcpstring{#1}{\abx@str}{#2}} @@ -4841,13 +4781,7 @@ \blx@bibcpstring{#1}{abx@sstr}{#2}} \protected\def\blx@bibcpstring#1#2#3{% - \blx@begunit - \blx@hyphenreset - \blx@bibstringsimple - \lowercase{\edef\blx@tempa{#3}}% - \ifcsundef{#2@\blx@tempa} - {\blx@warn@nostring\blx@tempa - \blx@endnounit} + \blx@met@bibstring{#1}{#2}{#3} {#1{\MakeCapital{\csuse{#2@\blx@tempa}}}% \blx@endunit}} @@ -4862,14 +4796,8 @@ \blx@biblcstring{#1}{abx@sstr}{#2}} \protected\def\blx@biblcstring#1#2#3{% - \blx@begunit - \blx@hyphenreset - \blx@bibstringsimple - \lowercase{\edef\blx@tempa{#3}}% - \ifcsundef{#2@\blx@tempa} - {\blx@warn@nostring\blx@tempa - \blx@endnounit} - {#1{\MakeLowercase{\csuse{#2@\blx@tempa}}}% + \blx@met@bibstring{#1}{#2}{#3} + {#1{\blx@maketext@lowercase{\csuse{#2@\blx@tempa}}}% \blx@endunit}} % [<wrapper>]{<string>} @@ -4883,14 +4811,8 @@ \blx@bibucstring{#1}{abx@sstr}{#2}} \protected\def\blx@bibucstring#1#2#3{% - \blx@begunit - \blx@hyphenreset - \blx@bibstringsimple - \lowercase{\edef\blx@tempa{#3}}% - \ifcsundef{#2@\blx@tempa} - {\blx@warn@nostring\blx@tempa - \blx@endnounit} - {#1{\MakeUppercase{\csuse{#2@\blx@tempa}}}% + \blx@met@bibstring{#1}{#2}{#3} + {#1{\blx@maketext@uppercase{\csuse{#2@\blx@tempa}}}% \blx@endunit}} % {<string>} @@ -4942,6 +4864,7 @@ \blx@regimcs{% \bibstring \biblstring \bibsstring \bibxstring \bibxlstring \bibxsstring + \bibncpstring \bibncplstring \bibncpsstring \bibcpstring \bibcplstring \bibcpsstring \biblcstring \biblclstring \biblcsstring \bibucstring \bibuclstring \bibucsstring @@ -5296,14 +5219,17 @@ \do{langjapanese}% \do{langlatin}% \do{langlatvian}% + \do{langlithuanian}% \do{langnorwegian}% \do{langpolish}% \do{langportuguese}% + \do{langserbian}% \do{langrussian}% \do{langslovak}% \do{langslovene}% \do{langspanish}% \do{langswedish}% + \do{langturkish}% \do{langukrainian}% \do{fromamerican}% \do{frombrazilian}% @@ -5324,15 +5250,18 @@ \do{fromitalian}% \do{fromjapanese}% \do{fromlatin}% + \do{fromlithuanian}% \do{fromlatvian}% \do{fromnorwegian}% \do{frompolish}% \do{fromportuguese}% \do{fromrussian}% + \do{fromserbian}% \do{fromslovak}% \do{fromslovene}% \do{fromspanish}% \do{fromswedish}% + \do{fromturkish}% \do{fromukrainian}% \do{countryde}% \do{countryep}% @@ -5369,19 +5298,19 @@ \forcsvlist\blx@newstring{#1}} \def\blx@newstring#1{% - \ifcsundef{KV@blx@lbx@#1} + \blx@kv@ifkeyundef{blx@lbx}{#1} {\gappto\abx@dostrings{\do{#1}}% - \csgdef{KV@blx@lbx@#1}##1{\blx@defstring{#1}{##1}}} + \blx@kv@gdefkey{blx@lbx}{#1}{\blx@defstring{#1}{##1}}} {}} % in *.cbx/bbx/tex: <key> = {<string>}, % in *.lbx: <key> = {{<longstring>}{<abbrevstring>}}, -\def\do#1{\define@key{blx@lbx}{#1}{\blx@defstring{#1}{##1}}} +\def\do#1{\blx@kv@defkey{blx@lbx}{#1}{\blx@defstring{#1}{##1}}} \abx@dostrings % in *.cbx/bbx/tex: (implicit) % in *.lbx: inherit = {<language>}, -\define@key{blx@lbx}{inherit}{% +\blx@kv@defkey{blx@lbx}{inherit}{% \blx@lbxinput@strings{#1}{}{\blx@err@nolang{#1}}% \csuse{abx@strings@#1}} @@ -5443,7 +5372,7 @@ \def\do##1{\csundef{abx@lstr@##1}\csundef{abx@sstr@##1}}% \abx@dostrings \csuse{abx@strings@#1}% - \setkeys{blx@lbx}{#2}% + \blx@kv@setkeys{blx@lbx}{#2}% \let\do\blx@defbibstrings@i \csxdef{abx@strings@#1}{\abx@dostrings}% \csgappto{abx@strings@#1}{% @@ -5457,6 +5386,10 @@ {\letcs\biblistname{\abx@str @shorthands}} {\let\biblistname\@empty}}} +% this one is special, it's basically ours and probably not defined +% by anyone else, so we had better make sure it exists +\providecommand*{\biblistname}{\blx@warn@nostring{shorthands}} + \def\blx@defbibstrings@i#1{% \ifcsdef{abx@lstr@#1} {\def\expandafter\noexpand\csname abx@lstr@#1\endcsname{% @@ -5562,13 +5495,18 @@ \blx@info@noline{Trying to load #2..}% \IfFileExists{#1} {\blx@info@noline{... file '#1' found}% - #3\@@input\@filef@und#4#5% + \csuse{blx@lbxfilehook@simple@preload@#1}% + #3\@@input\@filef@und#4% + \csuse{blx@lbxfilehook@simple@postload@#1}% + #5% \ifcsundef{blx@file@lbx@simple@#1} {\listxadd\blx@list@req@stat{#1}% \@addtofilelist{#1}% \global\cslet{blx@file@lbx@simple@#1}\@empty} {}} - {\blx@info@noline{... file '#1' not found}#6}} + {\blx@info@noline{... file '#1' not found}% + \csuse{blx@lbxfilehook@simple@failure@#1}% + #6}} % {<file>}{<message>}{<preload>}{<postload>}{<success>}{<failure>} \protected\long\def\blx@lbx@input@handler@once#1#2#3#4#5#6{% @@ -5576,12 +5514,17 @@ {\blx@info@noline{Trying to load #2..}% \IfFileExists{#1} {\blx@info@noline{... file '#1' found}% - #3\@@input\@filef@und#4#5% + \csuse{blx@lbxfilehook@once@preload@#1}% + #3\@@input\@filef@und#4% + \csuse{blx@lbxfilehook@once@postload@#1}% + #5% \ifcsundef{blx@file@lbx@simple@#1} {\listxadd\blx@list@req@stat{#1}% \@addtofilelist{#1}} {}} - {\blx@info@noline{... file '#1' not found}#6}% + {\blx@info@noline{... file '#1' not found}% + \csuse{blx@lbxfilehook@once@failure@#1}% + #6}% \global\cslet{blx@file@lbx@once@#1}\@empty \global\cslet{blx@file@lbx@simple@#1}\@empty} {#5}} @@ -5647,10 +5590,7 @@ {\edef\blx@languagename{#1}} {\blx@warning {Language '#1' not supported.\MessageBreak - Using fallback language '\blx@languagename'}% - \blx@lbxinput{\blx@languagename} - {\blx@maplang{#1}{\blx@languagename}} - {\blx@err@nolang{\blx@languagename}}}} + Using dummy definitions}}} % auxiliary macros @@ -5710,13 +5650,13 @@ {\iffieldsequal{#1minute}{#1endminute} % 14:13:xx 14:13:xx {\toggletrue{blx@seconds}% - \printtext[#1time]{% + \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}{}{}% + \printtext[{#1time}]{\csuse{mkbibtime24h}{#1hour}{#1minute}{}{}% \bibtimerangesep \csuse{mkbibtime24h}{}{#1endminute}{}{}}}} % 14:xx:xx 15:xx:xx @@ -5724,17 +5664,20 @@ % {<24h|24hcomp|12h>}{<datetype>} \newrobustcmd*{\mktimerange}[2]{% - \iffieldundef{#2hour} - {\blx@nounit} - {\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}}}}}} + \begingroup + \iffieldundef{#2hour} + {\blx@nounit} + {\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}}}}}% + \endgroup} % {<datetype>}{''|end} \newrobustcmd*{\blx@timepre}[2]{% @@ -5744,24 +5687,27 @@ {\blx@imc@clearfield{#1#2second}}} \newcommand*{\blx@if@printtime}[2]{% - \ifboolexpr{% - togl {blx@#1dateusetime} - and - not test {\iffieldundef{#1#2hour}}}} + \iftoggle{blx@#1dateusetime} + {\iffieldundef{#1#2hour} + {\@secondoftwo} + {\@firstoftwo}} + {\@secondoftwo}} \newcommand*{\blx@if@printanytimes}[1]{% - \ifboolexpr{ - togl {blx@#1dateusetime} - and - ( not test {\iffieldundef{#1hour}} - or not test {\iffieldundef{#1endhour}})}} + \iftoggle{blx@#1dateusetime} + {\iffieldundef{#1hour} + {\iffieldundef{#1endhour} + {\@secondoftwo} + {\@firstoftwo}} + {\@firstoftwo}} + {\@secondoftwo}} % {<datetype>}{'' | end} \newrobustcmd*{\blx@printtime}[2]{% \blx@if@printtime{#1}{#2} {\blx@timepre{#1}{#2}% - \printtext{\bibdatetimesep}% - \printtext[#1time]{% + \bibdatetimesep% + \printtext[{#1time}]{% \csuse{mkbibtime\csuse{blx@timeformat@#1time}} {#1#2hour}{#1#2minute}{#1#2second}{#1#2timezone}}} {}} @@ -5772,7 +5718,7 @@ \blx@metadateinfo{#2}% \iffieldundef{#2year} {\blx@nounit} - {\printtext[#2date]{% + {\printtext[{#2date}]{% \datecircaprint % Such a season component can only come from an ISO8601 season which replaces % a normal month so if it exists, we know that a normal date print is ruled out @@ -5803,7 +5749,7 @@ \blx@metadateinfo{#2}% \iffieldundef{#2year} {\blx@nounit} - {\printtext[#2date]{% + {\printtext[{#2date}]{% \datecircaprint % Such a season component can only come from an ISO8601 season which replaces % a normal month so if it exists, we know that a normal date print is ruled out @@ -5818,18 +5764,17 @@ {\printfield{extradate}} {\iffieldequalstr{#2endyear}{} {\printfield{extradate}% - \printtext{\mbox{\bibdaterangesep}}} - {\printtext{% - \bibdaterangesep - \enddatecircaprint - \iffieldundef{#2endseason} - {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% - % Optionally print the time after the date - \blx@printtime{#2}{end}} - {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% - \printfield{extradate}% - \enddateuncertainprint - \dateeraprint{#2endyear}}}}}% + \mbox{\bibdaterangesep}} + {\bibdaterangesep + \enddatecircaprint + \iffieldundef{#2endseason} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% + % Optionally print the time after the date + \blx@printtime{#2}{end}} + {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% + \printfield{extradate}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}% \endgroup} \newrobustcmd*{\mkdaterangetrunc}[2]{% @@ -5842,7 +5787,7 @@ \blx@metadateinfo{#2}% \iffieldundef{#2year} {\blx@nounit} - {\printtext[#2date]{% + {\printtext[{#2date}]{% \datecircaprint % Such a season component can only come from an ISO8601 season which replaces % a normal month so if it exists, we know that a normal date print is ruled out @@ -5883,7 +5828,7 @@ \blx@metadateinfo{#2}% \iffieldundef{#2year} {\blx@nounit} - {\printtext[#2date]{% + {\printtext[{#2date}]{% \datecircaprint % Such a season component can only come from an ISO8601 season which replaces % a normal month so if it exists, we know that a normal date print is ruled out @@ -5905,37 +5850,38 @@ {\printfield{extradate}} {\iffieldequalstr{#2endyear}{} {\printfield{extradate}% - \printtext{\mbox{\bibdaterangesep}}} - {\printtext{% - \bibdaterangesep - \enddatecircaprint - \iffieldundef{#2endseason} - {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}} - {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% - \printfield{extradate}% - \enddateuncertainprint - \dateeraprint{#2endyear}}}}}% + \mbox{\bibdaterangesep}} + {\bibdaterangesep + \enddatecircaprint + \iffieldundef{#2endseason} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}} + {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% + \printfield{extradate}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}% \endgroup} \newrobustcmd*{\mkdaterangeyear}[1]{% - \blx@imc@clearfield{#1season}% - \blx@imc@clearfield{#1month}% - \blx@imc@clearfield{#1day}% - \blx@imc@clearfield{#1hour}% - \blx@imc@clearfield{#1minute}% - \blx@imc@clearfield{#1second}% - \blx@imc@clearfield{#1timezone}% - \blx@imc@clearfield{#1endseason}% - \blx@imc@clearfield{#1endmonth}% - \blx@imc@clearfield{#1endday}% - \blx@imc@clearfield{#1endhour}% - \blx@imc@clearfield{#1endminute}% - \blx@imc@clearfield{#1endsecond}% - \blx@imc@clearfield{#1endtimezone}% - \ifdateyearsequal{#1}{#1end} - {\blx@imc@clearfield{#1endyear}} - {}% - \mkdaterangefull{short}{#1}} + \begingroup + \blx@imc@clearfield{#1season}% + \blx@imc@clearfield{#1month}% + \blx@imc@clearfield{#1day}% + \blx@imc@clearfield{#1hour}% + \blx@imc@clearfield{#1minute}% + \blx@imc@clearfield{#1second}% + \blx@imc@clearfield{#1timezone}% + \blx@imc@clearfield{#1endseason}% + \blx@imc@clearfield{#1endmonth}% + \blx@imc@clearfield{#1endday}% + \blx@imc@clearfield{#1endhour}% + \blx@imc@clearfield{#1endminute}% + \blx@imc@clearfield{#1endsecond}% + \blx@imc@clearfield{#1endtimezone}% + \ifdateyearsequal{#1}{#1end} + {\blx@imc@clearfield{#1endyear}} + {}% + \mkdaterangefull{short}{#1}% + \endgroup} % {<datetype>} \newrobustcmd*{\mkdaterangeymd}[1]{% @@ -5943,7 +5889,7 @@ \blx@metadateinfo{#1}% \iffieldundef{#1year} {\blx@nounit} - {\printtext[#1date]{% + {\printtext[{#1date}]{% \datecircaprint % Such a season component can only come from an ISO8601 season which replaces % a normal month so if it exists, we know that a normal date print is ruled out @@ -5975,7 +5921,7 @@ \blx@metadateinfo{#1}% \iffieldundef{#1year} {\blx@nounit} - {\printtext[#1date]{% + {\printtext[{#1date}]{% \datecircaprint % Such a season component can only come from an ISO8601 season which replaces % a normal month so if it exists, we know that a normal date print is ruled out @@ -5990,16 +5936,15 @@ {} {\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}}}% + {\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}}}}}% + \dateeraprint{#1endyear}}}}% \endgroup} % [extradate]{<datetype>}{''|end} @@ -6010,24 +5955,26 @@ \iffieldundef{#2#3day}{}{\bibdatesep\mkdayzeros{\thefield{#2#3day}}}} \newrobustcmd*{\mkdaterangeyearextra}[1]{% - \blx@imc@clearfield{#1season}% - \blx@imc@clearfield{#1month}% - \blx@imc@clearfield{#1day}% - \blx@imc@clearfield{#1hour}% - \blx@imc@clearfield{#1minute}% - \blx@imc@clearfield{#1second}% - \blx@imc@clearfield{#1timezone}% - \blx@imc@clearfield{#1endseason}% - \blx@imc@clearfield{#1endmonth}% - \blx@imc@clearfield{#1endday}% - \blx@imc@clearfield{#1endhour}% - \blx@imc@clearfield{#1endminute}% - \blx@imc@clearfield{#1endsecond}% - \blx@imc@clearfield{#1endtimezone}% - \ifdateyearsequal{#1}{#1end} - {\blx@imc@clearfield{#1endyear}} - {}% - \mkdaterangefullextra{short}{#1}} + \begingroup + \blx@imc@clearfield{#1season}% + \blx@imc@clearfield{#1month}% + \blx@imc@clearfield{#1day}% + \blx@imc@clearfield{#1hour}% + \blx@imc@clearfield{#1minute}% + \blx@imc@clearfield{#1second}% + \blx@imc@clearfield{#1timezone}% + \blx@imc@clearfield{#1endseason}% + \blx@imc@clearfield{#1endmonth}% + \blx@imc@clearfield{#1endday}% + \blx@imc@clearfield{#1endhour}% + \blx@imc@clearfield{#1endminute}% + \blx@imc@clearfield{#1endsecond}% + \blx@imc@clearfield{#1endtimezone}% + \ifdateyearsequal{#1}{#1end} + {\blx@imc@clearfield{#1endyear}} + {}% + \mkdaterangefullextra{short}{#1}% + \endgroup} \newrobustcmd*{\mkdaterangeiso}[1]{% \begingroup @@ -6035,13 +5982,13 @@ \def\bibdatetimesep{T}% \iffieldundef{#1year} {\blx@nounit} - {\printtext[#1date]{% + {\printtext[{#1date}]{% \blx@isodate{#1}{}% \ifboolexpr{% togl {blx@#1dateusetime} and not test {\iffieldundef{#1hour}}} - {\printtext{\bibdatetimesep}% + {\bibdatetimesep% \blx@isotime{#1}{}} {}% \dateuncertainprint @@ -6054,7 +6001,7 @@ togl {blx@#1dateusetime} and not test {\iffieldundef{#1endhour}}} - {\printtext{\bibdatetimesep}% + {\bibdatetimesep% \blx@isotime{#1}{end}} {}% \enddateuncertainprint @@ -6067,13 +6014,13 @@ \def\bibdatetimesep{T}% \iffieldundef{#1year} {\blx@nounit} - {\printtext[#1date]{% + {\printtext[{#1date}]{% \blx@isodate[extradate]{#1}{}% \ifboolexpr{% togl {blx@#1dateusetime} and not test {\iffieldundef{#1hour}}} - {\printtext{\bibdatetimesep}% + {\bibdatetimesep% \blx@isotime{#1}{}} {}% \dateuncertainprint @@ -6086,7 +6033,7 @@ togl {blx@#1dateusetime} and not test {\iffieldundef{#1endhour}}} - {\printtext{\bibdatetimesep}% + {\bibdatetimesep% \blx@isotime{#1}{end}} {}% \enddateuncertainprint @@ -6194,13 +6141,17 @@ loaded, is faulty or does not contain a definition\MessageBreak for \expandafter\string\csname mkbibtime24h\endcsname }% - \iffieldundef{#1}{} - {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}% - \iffieldundef{#2}{} - {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}% - \iffieldundef{#3}{} - {\printtext{\mktimezeros{\thefield{#3}}}}% - \setunit{}% + \iffieldundef{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}} @@ -6226,7 +6177,7 @@ {\bibstring{pm}}% \iffieldundef{#4}{} {\space\bibtimezonesep - \parentext{\mkbibtimezone{\thefield{#4}}}}} + \mkbibparens{\mkbibtimezone{\thefield{#4}}}}} \newrobustcmd*{\mkbibseasondateshort}[2]{% \blx@warning@noline{% @@ -6353,28 +6304,65 @@ % User macro for retrieving currrent language \def\currentlang{\blx@languagename} +% We need to be able to prefix \providetoggle with \global, +% plus we don't need the testing from \providetoggle anway. +% This uses internal implementation details of etoolbox's +% toggles, so is a bit meh, but it's better than rolling our own +% version of toggles just for that. +\newcommand*{\blx@etb@inittoggle}[1]{\cslet{etb@tgl@#1}\@secondoftwo} + +% There is no \nocaptions..., so if we send everything to \captions... +% we need to find a way to call our noextras only in situations where +% \noextras... is called to clean up \extras... AND \captions... +% and not just \extras... +% We detect this by setting a toggle in the \captions... + % {<language>}{<strings>} \def\blx@maplang@babel#1#2{% - \csgappto{extras#1}{% - \blx@resetpunct - \csuse{abx@extras@#2}% - \csuse{abx@strings@#2}}% - \csgappto{noextras#1}{% - \blx@resetpunct - \csuse{abx@noextras@#2}}} + \global\blx@etb@inittoggle{blx@lang@captions@#2}% + \ifdefstring{\blx@langhook}{captions} + {\csgappto{captions#1}{% + \toggletrue{blx@lang@captions@#2}% + \blx@resetpunct + \csuse{abx@extras@#2}% + \csuse{abx@strings@#2}}% + \csgappto{noextras#1}{% + \iftoggle{blx@lang@captions@#2} + {\blx@resetpunct + \csuse{abx@noextras@#2}} + {}}} + {\csgappto{extras#1}{% + \blx@resetpunct + \csuse{abx@extras@#2}% + \csuse{abx@strings@#2}}% + \csgappto{noextras#1}{% + \blx@resetpunct + \csuse{abx@noextras@#2}}}} \def\blx@maplang@polyglossia#1#2{% - \csgappto{blockextras@bbl@#1}{% - \blx@resetpunct - \csuse{abx@extras@#2}% - \csuse{abx@strings@#2}}% - \csgappto{inlinextras@bbl@#1}{% - \blx@resetpunct - \csuse{abx@extras@#2}% - \csuse{abx@strings@#2}}% - \csgappto{noextras@bbl@#1}{% - \blx@resetpunct - \csuse{abx@noextras@#2}}} + \global\blx@etb@inittoggle{blx@lang@captions@#2}% + \ifdefstring{\blx@langhook}{captions} + {\csgappto{captions@bbl@#1}{% + \toggletrue{blx@lang@captions@#2}% + \blx@resetpunct + \csuse{abx@extras@#2}% + \csuse{abx@strings@#2}}% + \csgappto{noextras@bbl@#1}{% + \iftoggle{blx@lang@captions@#2} + {\blx@resetpunct + \csuse{abx@noextras@#2}} + {}}} + {\csgappto{blockextras@bbl@#1}{% + \blx@resetpunct + \csuse{abx@extras@#2}% + \csuse{abx@strings@#2}}% + \csgappto{inlineextras@bbl@#1}{% + \blx@resetpunct + \csuse{abx@extras@#2}% + \csuse{abx@strings@#2}}% + \csgappto{noextras@bbl@#1}{% + \blx@resetpunct + \csuse{abx@noextras@#2}}}} %% babel/polyglossia interface \def\blx@beglang{\blx@clearlang\begingroup} @@ -6398,53 +6386,61 @@ \lefthyphenmin#1\relax \righthyphenmin#2\relax} -\begingroup -\@makeother\# -\gdef\blx@mkautolangbabel{% + + +\def\blx@mkautolangbabel{% \ifundef\bbl@main@language {\blx@error {No default 'babel' language defined} {You must define a default language for 'babel'}} {\let\blx@main@language\bbl@main@language}% - \pretocmd\select@language{\blx@langsetup{#1}} - {\ifdef\blx@thelangenv - {\def\blx@beglang{% - \blx@clearlang - \begingroup - % Need to override all entries, regardless of if there is a langid - % if language=<language> option is given + % use afterreset to get in a bit earlier + % we want to be there before \captions... is issued + % beforeextras is before extras, but captions come before extras + % afterreset was added in 3.9i (~2014-03-16) + % way before 3.9r (2016-04-23), which we require + \AddBabelHook{biblatex@langsetup}{afterreset}{% + \expandafter\blx@langsetup\expandafter{\languagename}}% + \ifdef\blx@thelangenv + {\def\blx@beglang{% + \blx@clearlang + \begingroup + % Need to override all entries, regardless of if there is a + % langid if language=<language> option is given \ifboolexpr { test {\ifdef\abx@field@langid } or test {\ifdef\blx@forcelanguagename} } - % override local langid if we forced it with - % language=<language> option - {\ifdef\blx@forcelanguagename - {\let\abx@field@langid\blx@forcelanguagename} - {}% - \let\blx@languagename\abx@field@langid% track global language - \blx@ifhyphenationundef{\abx@field@langid} - {\blx@warn@nohyph{\abx@field@langid}} - {\blx@hook@initlang - \def\blx@endlang{% - \blx@hook@endlang - \csname end\blx@thelangenv\endcsname - \endgroup}% - \iftoggle{blx@autolangbib} - {\let\blx@endlangbib\blx@endlang} - {}% - \iftoggle{blx@autolangcite} - {\let\blx@endlangcite\blx@endlang} - {}% - \csname\blx@thelangenv\expandafter\endcsname - \expandafter{\abx@field@langid}}} - {}}} - {}% - \def\blx@imc@mainlang{\select@language{\blx@main@language}}% - \blx@langsetup\blx@main@language} - {\blx@err@patch{'babel' package}% - \blx@mknoautolang}} + % override local langid if we forced it with + % language=<language> option + {\ifdef\blx@forcelanguagename + {\let\abx@field@langid\blx@forcelanguagename} + {}% + \let\blx@languagename\abx@field@langid% track global language + \blx@ifhyphenationundef{\abx@field@langid} + {\blx@warn@nohyph{\abx@field@langid}} + {\blx@hook@initlang + \def\blx@endlang{% + \blx@hook@endlang + \csname end\blx@thelangenv\endcsname + \endgroup}% + \iftoggle{blx@autolangbib} + {\let\blx@endlangbib\blx@endlang} + {}% + \iftoggle{blx@autolangcite} + {\let\blx@endlangcite\blx@endlang} + {}% + \csname\blx@thelangenv\expandafter\endcsname + \expandafter{\abx@field@langid}}} + {}}} + {}% + \def\blx@imc@mainlang{% + \expandafter\selectlanguage\expandafter{\blx@main@language}}% + \expandafter\blx@langsetup\expandafter{\blx@main@language}% +} -\gdef\blx@mkautolangpoly{% +\def\blx@beglang@spacefactors{\frenchspacing} + +\def\blx@mkautolangpoly{% \ifundef\mainbabelname {\ifundef\bbl@main@language {\blx@error @@ -6452,59 +6448,57 @@ {You must define a default language for 'polyglossia'}} {\let\blx@main@language\bbl@main@language}} {\let\blx@main@language\mainbabelname}% - \edef\blx@saved@underscore@catcode{\the\catcode`\_}% - \catcode`\_=11% polyglossia uses "_" as a letter - \pretocmd\select@language{\blx@langsetup{\babelname}} - {\ifdef\blx@thelangenv - {\def\blx@beglang{% - \blx@clearlang - \begingroup - % Need to override all entries, regardless of if there is a - % langid if language=<language> option is given - \ifboolexpr { test {\ifdef\abx@field@langid } - or - test {\ifdef\blx@forcelanguagename} } - % override local langid if we forced it with - % language=<language> option - {\ifdef\blx@forcelanguagename - {\let\abx@field@langid\blx@forcelanguagename} - {}% - \let\blx@languagename\abx@field@langid% track global language - \blx@ifhyphenationundef{\abx@field@langid} - {\blx@warn@nohyph{\abx@field@langid}} - {\blx@hook@initlang - \def\blx@endlang{% - \blx@hook@endlang - % Polyglossia language envs are \<lang>[] - \ifcsstring{blx@thelangenv}{langname} - {\csname end\abx@field@langid\endcsname} - {\csname end\blx@thelangenv\endcsname}% - \endgroup}% - \iftoggle{blx@autolangbib} - {\let\blx@endlangbib\blx@endlang} - {}% - \iftoggle{blx@autolangcite} - {\let\blx@endlangcite\blx@endlang} - {}% + \ifundef\polyglossia@language@switched + {\apptocmd\select@language + {\expandafter\blx@langsetup\expandafter{\babelname}} + {} + {\blx@err@patch{'polyglossia' package}% + \blx@mknoautolang}} + {\appto\polyglossia@language@switched{% + \expandafter\blx@langsetup\expandafter{\babelname}}}% + \ifdef\blx@thelangenv + {\def\blx@beglang{% + \blx@clearlang + \begingroup + % Need to override all entries, regardless of if there is a + % langid if language=<language> option is given + \ifboolexpr { test {\ifdef\abx@field@langid } + or + test {\ifdef\blx@forcelanguagename} } + % override local langid if we forced it with + % language=<language> option + {\ifdef\blx@forcelanguagename + {\let\abx@field@langid\blx@forcelanguagename} + {}% + \let\blx@languagename\abx@field@langid% track global language + \blx@ifhyphenationundef{\abx@field@langid} + {\blx@warn@nohyph{\abx@field@langid}} + {\blx@hook@initlang + \def\blx@endlang{% + \blx@hook@endlang + % Polyglossia language envs are \<lang>[] \ifcsstring{blx@thelangenv}{langname} - {\ifdef\abx@field@langidopts - {\csname\abx@field@langid\expandafter\endcsname\expandafter[\abx@field@langidopts]} - {\csname\abx@field@langid\endcsname}} - {\csname\blx@thelangenv\expandafter\endcsname\expandafter{\abx@field@langid}}% - % These lines are equal to \blx@maplang - \ifcsstring{blx@thelangenv}{hyphenrules} - {} - {\blx@resetpunct - \csuse{abx@extras@\abx@field@langid}% - \csuse{abx@strings@\abx@field@langid}}}} - {}}} + {\csname end\abx@field@langid\endcsname} + {\csname end\blx@thelangenv\endcsname}% + \endgroup}% + \iftoggle{blx@autolangbib} + {\let\blx@endlangbib\blx@endlang} + {}% + \iftoggle{blx@autolangcite} + {\let\blx@endlangcite\blx@endlang} + {}% + \ifcsstring{blx@thelangenv}{langname} + {\ifdef\abx@field@langidopts + {\csname\abx@field@langid\expandafter\endcsname + \expandafter[\abx@field@langidopts]} + {\csname\abx@field@langid\endcsname}} + {\csname\blx@thelangenv\expandafter\endcsname + \expandafter{\abx@field@langid}}% + \blx@beglang@spacefactors}} + {}}} {}% - \def\blx@imc@mainlang{\select@language{\blx@main@language}}% - \blx@langsetup\blx@main@language} - {\blx@err@patch{'polyglossia' package}% - \blx@mknoautolang}% - \catcode`\_=\blx@saved@underscore@catcode\relax} -\endgroup + \def\blx@imc@mainlang{\select@language{\blx@main@language}}% + \expandafter\blx@langsetup\expandafter{\blx@main@language}} \def\blx@mknoautolang{% \blx@lbxinput{\blx@languagename} @@ -6553,6 +6547,10 @@ % fields which can be used as labels - we auto-create some macros for these \def\abx@dolabelfields{\dolistloop\blx@datamodel@labelfields} +\def\abx@dolabelwidths{% + \do{labelnumber}% + \do{labelalpha}% + \abx@dolabelfields} \def\abx@donames{\dolistloop\blx@datamodel@names} \def\abx@donameparts{\expandafter\docsvlist\expandafter{\blx@datamodel@constant@nameparts}} @@ -6682,19 +6680,19 @@ {\csuse{blx@defblxopt@#1opt}{#3}[]}} \long\def\blx@defblxopt@globalopt#1[#2]#3{% - \ifcsundef{KV@blx@opt@ldt@#1} - {\ifcsundef{KV@blx@opt@pre@#1} + \blx@kv@ifkeyundef{blx@opt@ldt}{#1} + {\blx@kv@ifkeyundef{blx@opt@pre}{#1} {\ifblank{#2} - {\define@key{blx@opt@pre}{#1}{#3}} - {\define@key{blx@opt@pre}{#1}[#2]{#3}}} + {\blx@kv@defkey{blx@opt@pre}{#1}{#3}} + {\blx@kv@defkey{blx@opt@pre}{#1}[{#2}]{#3}}} {\blx@err@optdef{#1}{pre/global}}} {\blx@err@optdef{#1}{ldt/global}}} \long\def\blx@defblxopt@typeentryopt#1#2[#3]#4{% - \ifcsundef{KV@blx@opt@#1@#2} + \blx@kv@ifkeyundef{blx@opt@#1}{#2} {\ifblank{#3} - {\define@key{blx@opt@#1}{#2}{#4}} - {\define@key{blx@opt@#1}{#2}[#3]{#4}}} + {\blx@kv@defkey{blx@opt@#1}{#2}{#4}} + {\blx@kv@defkey{blx@opt@#1}{#2}[{#3}]{#4}}} {\blx@err@optdef{#2}{#1}}} \def\blx@defblxopt@typeopt{\blx@defblxopt@typeentryopt{typ}} @@ -6715,10 +6713,10 @@ \forcsvlist{\listadd\blx@optscopes}{global,type,entry} \long\def\blx@defblxopt@loopscopes@i#1[#2]#3#4{% - \csuse{blx@defblxopt@#4opt}{#1}[#2]{#3}} + \csuse{blx@defblxopt@#4opt}{#1}[{#2}]{#3}} \long\def\blx@defblxopt@loopscopes#1[#2]#3{% - \forlistloop{\blx@defblxopt@loopscopes@i{#1}[#2]{#3}}{\blx@optscopes}} + \forlistloop{\blx@defblxopt@loopscopes@i{#1}[{#2}]{#3}}{\blx@optscopes}} % {<option scopes>}[<datatype>]{<key>}[<default value>]{<code>} \newrobustcmd*{\DeclareBiblatexOption}[1]{% @@ -6792,6 +6790,8 @@ \gdef\blx@bcf@backendin@name@nametemplates{sortingnamekeytemplatename,% uniquenametemplatename,labelalphanametemplatename}% + + % Misc globalopts \blx@DeclareBackendOption{global}[xml]{datamodel} \blx@collectopts{string}{blx@globalopts}{controlversion} @@ -7004,7 +7004,7 @@ {\blx@stripfromendinto{#1}{year}\blx@datetype}% \csuse{if\blx@datetype\blx@tempa dateera}{bce} {\ifnumless{0-\thefield{#1}}{0} - {\printtext{\csuse{bibdateera\blx@tempa prefix}}} + {\csuse{bibdateera\blx@tempa prefix}} {}} {}% \endgroup} @@ -7020,10 +7020,10 @@ \csuse{if\blx@datetype\blx@tempa dateera}{bce} {\ifnum\numexpr0-\thefield{#1}\relax<\blx@dateeraauto % \midsentence is to suppress automatic capitalisation - \printtext{\printdelim{dateeradelim}\midsentence\bibstring{\blx@dateera@bce}}\relax + \printdelim{dateeradelim}\midsentence\bibstring{\blx@dateera@bce}\relax \fi} {\ifnumless{\thefield{#1}}\blx@dateeraauto - {\printtext{\printdelim{dateeradelim}\midsentence\bibstring{\blx@dateera@ce}}} + {\printdelim{dateeradelim}\midsentence\bibstring{\blx@dateera@ce}} {}}% \endgroup} {}}}% @@ -7160,10 +7160,8 @@ \def\do#1{\expandafter\newlength\expandafter{\csname #1width\endcsname}} \abx@dolabelfields -\newlength{\locallabelnumberwidth} -\newlength{\locallabelalphawidth} \def\do#1{\expandafter\newlength\expandafter{\csname local#1width\endcsname}} -\abx@dolabelfields +\abx@dolabelwidths \protected\def\blx@resetdata{% \let\blx@saved@do\do @@ -7304,13 +7302,12 @@ \begingroup \def\item{\MessageBreak-\space}% \def\break{\MessageBreak\space\space}% - \edef\blx@tempa{% + \blx@warning@noline{% Biber reported the following issues% \ifdef\abx@field@entrykey {\MessageBreak with '\abx@field@entrykey'} {}% :#1}% - \blx@warning@noline{\blx@tempa}% \endgroup} % {<field>}{<code>} @@ -7860,6 +7857,7 @@ % {<entrykey>} \protected\def\blx@bbl@xref#1{}% No-op to avoid an error with BibTeX .bbl +\protected\def\blx@bbl@fakeset#1{}% No-op to avoid an error with BibTeX .bbl % {<keyword>,...} \protected\def\blx@bbl@keyw#1{% @@ -7869,23 +7867,46 @@ \def\blx@addkeyword#1#2{% \listcsxadd{blx@keyw@\the\c@refsection @\detokenize{#2}}{#1}} +\newcommand*{\blx@ifcatcode@other}[1]{% + \ifnumequal{\catcode\number`#1}{12}} + % {<options>} \protected\long\def\blx@bbl@options#1{% - \begingroup + \ifblank{#1} + {} + {\begingroup + \blx@ifcatcode@other{,} + {\blx@ifcatcode@other{=}} + {\@secondoftwo} + {\blx@bbl@options@check{#1}} + {\ifundef\blx@bbl@options@warncatcode + {\blx@warning@noline{% + Irregular catcode regime detected.\MessageBreak + Attempting to work around this with \string\scantokens}% + \global\let\blx@bbl@options@warncatcode\@empty} + {}% + \makeatletter + \@makeother\= + \@makeother\' + \endlinechar\m@ne + \scantokens\expandafter{\blx@bbl@options@check{#1}}}}} + +\long\def\blx@bbl@options@check#1{% \let\blx@tempa\@empty - \forcsvlist\blx@bbl@options@i{#1}% + \forcsvlist\blx@bbl@options@checkopt{#1}% \edef\blx@tempa{% - \endgroup + \endgroup % this group was opened in \blx@bbl@options \ifx\blx@tempa\@empty \else \def\noexpand\abx@field@options{\expandonce\blx@tempa}% \fi}% \blx@tempa} -\long\def\blx@bbl@options@i#1{\blx@bbl@options@ii#1==&} -\long\def\blx@bbl@options@ii#1=#2=#3&{% - \ifcsundef{KV@blx@opt@ent@#1} +\long\def\blx@bbl@options@checkopt#1{\blx@bbl@options@checkopt@i#1==&} + +\long\def\blx@bbl@options@checkopt@i#1=#2=#3&{% + \blx@kv@ifkeyundef{blx@opt@ent}{#1} {\blx@warning@noline{% Ignoring undefined option '#1'\MessageBreak at entry '\abx@field@entrykey'}} @@ -7971,107 +7992,43 @@ % 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}} + {\let\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 ETDF sourced labeldatesource values + % such contents could contain arbitrary macros, unlike EDTF sourced labeldatesource values {\letcs\abx@field@labelyear{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}}} - {}% - % labeldateunspecified - \ifcsdef{abx@field@\abx@field@labeldatesource dateunspecified} - {\csletcs{abx@field@labeldateunspecified}{abx@field@\abx@field@labeldatesource dateunspecified}} - {}% - % labeldatecirca/labelenddatecirca - \ifcsdef{etb@tgl@abx@bool@\abx@field@labeldatesource datecirca} - {\csletcs{etb@tgl@abx@bool@labeldatecirca}{etb@tgl@abx@bool@\abx@field@labeldatesource datecirca}} - {}% - \ifcsdef{etb@tgl@abx@bool@\abx@field@labeldatesource enddatecirca} - {\csletcs{etb@tgl@abx@bool@labelenddatecirca}{etb@tgl@abx@bool@\abx@field@labeldatesource enddatecirca}} - {}% - % labeldatejulian/labelenddatejulian - \ifcsdef{etb@tgl@abx@bool@\abx@field@labeldatesource datejulian} - {\csletcs{etb@tgl@abx@bool@labeldatejulian}{etb@tgl@abx@bool@\abx@field@labeldatesource datejulian}} - {}% - \ifcsdef{etb@tgl@abx@bool@\abx@field@labeldatesource enddatejulian} - {\csletcs{etb@tgl@abx@bool@labelenddatejulian}{etb@tgl@abx@bool@\abx@field@labeldatesource enddatejulian}} - {}% - % labeldateuncertain/labelenddateuncertain - \ifcsdef{etb@tgl@abx@bool@\abx@field@labeldatesource dateuncertain} - {\csletcs{etb@tgl@abx@bool@labeldateuncertain}{etb@tgl@abx@bool@\abx@field@labeldatesource dateuncertain}} - {}% - \ifcsdef{etb@tgl@abx@bool@\abx@field@labeldatesource enddateuncertain} - {\csletcs{etb@tgl@abx@bool@labelenddateuncertain}{etb@tgl@abx@bool@\abx@field@labeldatesource enddateuncertain}} - {}% - % labeldateunknown/labelenddateunknown - \ifcsdef{etb@tgl@abx@bool@\abx@field@labeldatesource dateunknown} - {\csletcs{etb@tgl@abx@bool@labeldateunknown}{etb@tgl@abx@bool@\abx@field@labeldatesource dateunknown}} - {}% - \ifcsdef{etb@tgl@abx@bool@\abx@field@labeldatesource enddateunknown} - {\csletcs{etb@tgl@abx@bool@labelenddateunknown}{etb@tgl@abx@bool@\abx@field@labeldatesource enddateunknown}} - {}}}} + \letcs\abx@field@labeldateera{abx@field@\abx@field@labeldatesource dateera}% + \letcs\abx@field@labelenddateera{abx@field@\abx@field@labeldatesource enddateera}% + \letcs\abx@field@labelyear{abx@field@\abx@field@labeldatesource year}% + \letcs\abx@field@labelendyear{abx@field@\abx@field@labeldatesource endyear}% + \letcs\abx@field@labelmonth{abx@field@\abx@field@labeldatesource month}% + \letcs\abx@field@labelendmonth{abx@field@\abx@field@labeldatesource endmonth}% + \letcs\abx@field@labelday{abx@field@\abx@field@labeldatesource day}% + \letcs\abx@field@labelendday{abx@field@\abx@field@labeldatesource endday}% + \letcs\abx@field@labelhour{abx@field@\abx@field@labeldatesource hour}% + \letcs\abx@field@labelendhour{abx@field@\abx@field@labeldatesource endhour}% + \letcs\abx@field@labelminute{abx@field@\abx@field@labeldatesource minute}% + \letcs\abx@field@labelendminute{abx@field@\abx@field@labeldatesource endminute}% + \letcs\abx@field@labelsecond{abx@field@\abx@field@labeldatesource second}% + \letcs\abx@field@labelendsecond{abx@field@\abx@field@labeldatesource endsecond}% + \letcs\abx@field@labeltimezone{abx@field@\abx@field@labeldatesource timezone}% + \letcs\abx@field@labelendtimezone{abx@field@\abx@field@labeldatesource endtimezone}% + \letcs\abx@field@labelseason{abx@field@\abx@field@labeldatesource season}% + \letcs\abx@field@labelendseason{abx@field@\abx@field@labeldatesource endseason}% + \letcs\abx@field@labeldateunspecified{abx@field@\abx@field@labeldatesource dateunspecified}% + \letcs\etb@tgl@abx@bool@labeldatecirca{etb@tgl@abx@bool@\abx@field@labeldatesource datecirca}% + \letcs\etb@tgl@abx@bool@labelenddatecirca{etb@tgl@abx@bool@\abx@field@labeldatesource enddatecirca}% + \letcs\etb@tgl@abx@bool@labeldatejulian{etb@tgl@abx@bool@\abx@field@labeldatesource datejulian}% + \letcs\etb@tgl@abx@bool@labelenddatejulian{etb@tgl@abx@bool@\abx@field@labeldatesource enddatejulian}% + \letcs\etb@tgl@abx@bool@labeldateuncertain{etb@tgl@abx@bool@\abx@field@labeldatesource dateuncertain}% + \letcs\etb@tgl@abx@bool@labelenddateuncertain{etb@tgl@abx@bool@\abx@field@labeldatesource enddateuncertain}% + \letcs\etb@tgl@abx@bool@labeldateunknown{etb@tgl@abx@bool@\abx@field@labeldatesource dateunknown}% + \letcs\etb@tgl@abx@bool@labelenddateunknown{etb@tgl@abx@bool@\abx@field@labeldatesource enddateunknown}% + }% + }% +} % This gets the entry data for a citation \def\blx@getdata@cite#1{% @@ -8080,26 +8037,35 @@ \ifcsdef{blx@setc@\the\c@refsection @#1} {\blx@ifdata{#1} {\def\abx@field@childentrykey{#1}%LEGACY(<3.8) - \edef\abx@field@childentrytype{\abx@field@entrytype}%LEGACY(<3.8) + \let\abx@field@childentrytype\abx@field@entrytype %LEGACY(<3.8) \begingroup - \expandafter\expandafter\expandafter\blx@getdata\expandafter\expandafter\expandafter{% - \csname blx@setc@\the\c@refsection @#1\endcsname}% + \expandafter\expandafter\expandafter\blx@getdata + \expandafter\expandafter\expandafter{% + \csname blx@setc@\the\c@refsection @#1\endcsname}% \let\blx@tempa\@empty % Inject labelnumber if it exists \ifdef\abx@field@labelnumber - {\appto\blx@tempa{\def\noexpand\abx@field@labelnumber{\abx@field@labelnumber}}} + {\appto\blx@tempa{% + \def\noexpand\abx@field@labelnumber{% + \expandonce\abx@field@labelnumber}}} {}% % Inject labelprefix if it exists \ifdef\abx@field@labelprefix - {\appto\blx@tempa{\def\noexpand\abx@field@labelprefix{\abx@field@labelprefix}}} + {\appto\blx@tempa{% + \def\noexpand\abx@field@labelprefix{% + \expandonce\abx@field@labelprefix}}} {}% % Inject labelalpha if it exists \ifdef\abx@field@labelalpha - {\appto\blx@tempa{\def\noexpand\abx@field@labelalpha{\abx@field@labelalpha}}} + {\appto\blx@tempa{% + \def\noexpand\abx@field@labelalpha{% + \expandonce\abx@field@labelalpha}}} {}% % Inject extraalpha if it exists \ifdef\abx@field@extraalpha - {\appto\blx@tempa{\def\noexpand\abx@field@extraalpha{\abx@field@extraalpha}}} + {\appto\blx@tempa{% + \def\noexpand\abx@field@extraalpha{% + \expandonce\abx@field@extraalpha}}} {}% % Perform the injection \edef\blx@tempb{\endgroup\blx@tempa}% @@ -8118,7 +8084,7 @@ {} {\begingroup \edef\blx@tempa{\endgroup - \noexpand\setkeys{blx@opt@ent}{\abx@field@options}}% + \noexpand\blx@kv@setkeys{blx@opt@ent}{\abx@field@options}}% \blx@tempa \blx@checkoptions@entry}} @@ -8126,7 +8092,7 @@ \ifcsdef{blx@opts@type@#1} {\begingroup \edef\blx@tempa{\endgroup - \noexpand\setkeys{blx@opt@typ}{\csuse{blx@opts@type@#1}}}% + \noexpand\blx@kv@setkeys{blx@opt@typ}{\csuse{blx@opts@type@#1}}}% \blx@tempa} {}} @@ -8172,7 +8138,7 @@ % for internal use but we always want the aliases themselves in the .bcf % so that biber can correctly use and resolve them too. \protected\def\blx@bbl@keyalias#1#2{% - \csgdef{blx@keyalias@\the\c@refsection @#1}{\detokenize{#2}}% + \csxdef{blx@keyalias@\the\c@refsection @#1}{\detokenize{#2}}% \listcsgadd{blx@keyaliases@\the\c@refsection}{#1}} % blx@dlist@list@<section>@<refcontext> - a list of list items in a refcontext in a @@ -8284,27 +8250,50 @@ \blx@getformat\abx@tmp@theformat{ffd}{#2}{#3}% \csletcs{#1}{abx@tmp@theformat}} + +% {<instance (int)>}{<field>}{<length>} +\def\abx@aux@locallabelwidth#1#2#3{% + \csgdef{blx@locallabelwidth@#1@#2}{#3}} + +\def\blx@locallabelwidth@write@length#1{% + \ifdimequal{\csname local#1width\endcsname}{0pt} + {} + {\blx@auxwrite\@mainaux{} + {\string\abx@aux@locallabelwidth + {\the\blx@biblioinstance}% + {#1}% + {\the\csname local#1width\endcsname}}}} + +\def\blx@locallabelwidth@write{% + \let\do\blx@locallabelwidth@write@length + \abx@dolabelwidths} + +\let\blx@locallabelwidth@finish\relax + \def\blx@labelwidth@resetlocal{% - \locallabelnumberwidth\z@ - \locallabelalphawidth\z@ \def\do##1{% \csname local##1width\endcsname\z@}% - \abx@dolabelfields} + \abx@dolabelwidths} + +\def\blx@labelwidth@settolocal@length#1{% + \ifcsundef{blx@locallabelwidth@\the\blx@biblioinstance @#1} + {} + {\csname #1width\endcsname + \csname blx@locallabelwidth@\the\blx@biblioinstance @#1\endcsname + \space}} \def\blx@labelwidth@settolocal{% - \labelnumberwidth\locallabelnumberwidth - \labelalphawidth\locallabelalphawidth - \def\do##1{% - \csname ##1width\endcsname\csname local##1width\endcsname}% - \abx@dolabelfields} + \let\do\blx@labelwidth@settolocal@length + \abx@dolabelwidths} -\def\blx@locallabelwidth#1{% +\def\blx@locallabelwidth@setlengths{% + \global\advance\blx@biblioinstance\@ne \blx@labelwidth@resetlocal - \let\blx@do\blx@lengthitem - \let\blx@done\relax - \blx@listloop{#1}% \blx@labelwidth@settolocal} +\let\blx@locallabelwidth@init\relax + + % {<prefix for labelwidth fields>} \def\blx@bbl@labelnumberwidth@numeric#1{% \abx@flfw@getfieldformat{abx@flfw@labelnumberwidth}{labelnumberwidth}{}% @@ -8491,6 +8480,7 @@ \let\enddatalist\blx@bbl@enddlist \let\set\blx@bbl@set \let\inset\blx@bbl@inset + \let\fakeset\blx@bbl@fakeset % A No-op for Biber \let\xref\blx@bbl@xref % A No-op for Biber \let\keyw\blx@bbl@keyw \let\name\blx@bbl@namedef @@ -8565,15 +8555,22 @@ \begingroup \def\do#1{\ifinlist{#1}\blx@cites{}{\blx@logreq@active{}}\relax}% \dolistloop\blx@lastcites - % Special case - if we are using sortingtemplate "none" anywhere, then changes - % in citation order matter and we need to re-run biber. So a special test - % to see if the cites from last run are identical in order. We have - % already tested for more or less cites between runs by now, we are + % Special case - if we are using sortingtemplate with \citeorder anywhere, + % then changes in citation order matter and we need to re-run biber. + % So a special test to see if the cites from last run are identical in order. + % We have already tested for more or less cites between runs by now, we are % testing here for exactly the same cites by treating the cite and % lastcite lists as strings and comparing them. This doesn't apply % to biblist sortingtemplates as nobody wants to sort biblists with % "none", since it makes no sense - \ifinlist{none}\blx@sortingtemplatenames + \togglefalse{blx@tempa}% + \def\do#1{% + \ifcsundef{blx@sortingtemplate@citeorder@relevant@#1} + {} + {\toggletrue{blx@tempa}% + \listbreak}}% + \dolistloop\blx@sortingtemplatenames + \iftoggle{blx@tempa} {\ifdefstrequal{\blx@cites}{\blx@lastcites} {} {\blx@logreq@active{}}} @@ -8603,6 +8600,11 @@ {\def\do#1{\blx@auxwrite\@mainaux{}{#1}} \dolistloop\blx@localnumaux}} {}% + % Wite md5 hash of .bbl to .aux if we need a Biber rerun. + % This needs to happen here and not in \blx@check@rerun together with + % the other rerun stuff, because \AfterEndBibliography would be too + % late for .aux file writing. + \blx@aux@write@bbl@mdfivesum \endgroup} % {<instcount>}{<entrykey>}{<refsection>}{<refcontext>}{<labelnumber>} @@ -8682,8 +8684,8 @@ \appto\blx@tempa{{##1}}% \advance\blx@tempcnta\@ne}% \dolistcsloop{blx@pref@\the\c@refsection @#1}% - \edef\blx@tempa{\endgroup\noexpand\blx@bbl@listdef - {pageref}{\the\blx@tempcnta}{\expandonce{\blx@tempa}}}% + \edef\blx@tempa{\endgroup + \noexpand\blx@bbl@listdef{pageref}{\the\blx@tempcnta}{\expandonce{\blx@tempa}}}% \blx@tempa} %% Data input @@ -8701,12 +8703,18 @@ \blx@ifsigned{\jobname}{bbl} {\InputIfFileExists{\jobname.bbl} {\blx@info@noline{... file '\jobname.bbl' found}% - \global\toggletrue{blx@bbldone}} + \global\toggletrue{blx@bbldone}% + \blx@generate@bbl@mdfivesum@found} {\blx@info@noline{... file '\jobname.bbl' not found}% - \typeout{No file \jobname.bbl.}}} - {}% + \typeout{No file \jobname.bbl.}% + % 'nobblfile' can never be equal to any mdfivehash + \blx@generate@bbl@mdfivesum@notfound}} + {\blx@generate@bbl@mdfivesum@notfound}% \blx@bblend \endgroup + % Check if Biber rerun was not carried out. + % If so, ask for it again. + \blx@check@bbl@rerun@mdfivesum % global sorting as this is called at BeginDocument \csnumgdef{blx@labelnumber@\the\c@refsection}{0}} @@ -8749,7 +8757,7 @@ \def\blx@defbibheading#1[#2]{% \csundef{#1}% - \expandafter\newcommand\csname#1\endcsname[1][#2]} + \expandafter\newcommand\csname#1\endcsname[1][{#2}]} % {<name>}{<text>} \newrobustcmd*{\defbibnote}[1]{% @@ -8823,76 +8831,76 @@ % We need a 2-pass structure for options in \printbibliography and % \printbiblist because the section has to be set before any % other options and this partly determines which list to use for later filtering -\define@key{blx@bib1}{segment}{} -\define@key{blx@bib1}{type}{} -\define@key{blx@bib1}{nottype}{} -\define@key{blx@bib1}{subtype}{} -\define@key{blx@bib1}{notsubtype}{} -\define@key{blx@bib1}{keyword}{} -\define@key{blx@bib1}{notkeyword}{} -\define@key{blx@bib1}{category}{} -\define@key{blx@bib1}{notcategory}{} -\define@key{blx@bib1}{filter}{} -\define@key{blx@bib1}{check}{} -\define@key{blx@bib1}{heading}{} -\define@key{blx@bib1}{env}{} -\define@key{blx@bib1}{title}{} -\define@key{blx@bib1}{prenote}{} -\define@key{blx@bib1}{postnote}{} -\define@key{blx@bib1}{omitnumbers}[]{} +\blx@kv@defkey{blx@bib1}{segment}{} +\blx@kv@defkey{blx@bib1}{type}{} +\blx@kv@defkey{blx@bib1}{nottype}{} +\blx@kv@defkey{blx@bib1}{subtype}{} +\blx@kv@defkey{blx@bib1}{notsubtype}{} +\blx@kv@defkey{blx@bib1}{keyword}{} +\blx@kv@defkey{blx@bib1}{notkeyword}{} +\blx@kv@defkey{blx@bib1}{category}{} +\blx@kv@defkey{blx@bib1}{notcategory}{} +\blx@kv@defkey{blx@bib1}{filter}{} +\blx@kv@defkey{blx@bib1}{check}{} +\blx@kv@defkey{blx@bib1}{heading}{} +\blx@kv@defkey{blx@bib1}{env}{} +\blx@kv@defkey{blx@bib1}{title}{} +\blx@kv@defkey{blx@bib1}{prenote}{} +\blx@kv@defkey{blx@bib1}{postnote}{} +\blx@kv@defkey{blx@bib1}{omitnumbers}[]{} % 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]{% +\blx@kv@defkey{blx@bib1}{resetnumbers}[true]{% \toggletrue{blx@resetnumsexplicit}} -\define@key{blx@bib2}{section}{} -\define@key{blx@bib2}{sorting}{} - -\define@key{blx@biblist1}{segment}{} -\define@key{blx@biblist1}{type}{} -\define@key{blx@biblist1}{nottype}{} -\define@key{blx@biblist1}{subtype}{} -\define@key{blx@biblist1}{notsubtype}{} -\define@key{blx@biblist1}{keyword}{} -\define@key{blx@biblist1}{notkeyword}{} -\define@key{blx@biblist1}{category}{} -\define@key{blx@biblist1}{notcategory}{} -\define@key{blx@biblist1}{filter}{} -\define@key{blx@biblist1}{check}{} -\define@key{blx@biblist1}{heading}{} -\define@key{blx@biblist1}{env}{} -\define@key{blx@biblist1}{title}{} -\define@key{blx@biblist1}{prenote}{} -\define@key{blx@biblist1}{postnote}{} - -\define@key{blx@biblist2}{section}{} -\define@key{blx@biblist2}{sorting}{} - -\define@key{blx@bib1}{section}{% +\blx@kv@defkey{blx@bib2}{section}{} +\blx@kv@defkey{blx@bib2}{sorting}{} + +\blx@kv@defkey{blx@biblist1}{segment}{} +\blx@kv@defkey{blx@biblist1}{type}{} +\blx@kv@defkey{blx@biblist1}{nottype}{} +\blx@kv@defkey{blx@biblist1}{subtype}{} +\blx@kv@defkey{blx@biblist1}{notsubtype}{} +\blx@kv@defkey{blx@biblist1}{keyword}{} +\blx@kv@defkey{blx@biblist1}{notkeyword}{} +\blx@kv@defkey{blx@biblist1}{category}{} +\blx@kv@defkey{blx@biblist1}{notcategory}{} +\blx@kv@defkey{blx@biblist1}{filter}{} +\blx@kv@defkey{blx@biblist1}{check}{} +\blx@kv@defkey{blx@biblist1}{heading}{} +\blx@kv@defkey{blx@biblist1}{env}{} +\blx@kv@defkey{blx@biblist1}{title}{} +\blx@kv@defkey{blx@biblist1}{prenote}{} +\blx@kv@defkey{blx@biblist1}{postnote}{} + +\blx@kv@defkey{blx@biblist2}{section}{} +\blx@kv@defkey{blx@biblist2}{sorting}{} + +\blx@kv@defkey{blx@bib1}{section}{% \ifcsundef{blx@sections@#1} {\blx@err@nosec{#1}} {\c@refsection#1\relax \def\blx@tempe{#1}}} -\define@key{blx@biblist1}{section}{% +\blx@kv@defkey{blx@biblist1}{section}{% \ifcsundef{blx@sections@#1} {\blx@err@nosec{#1}} {\c@refsection#1\relax \def\blx@tempe{#1}}} -\define@key{blx@bbg}{section}{% +\blx@kv@defkey{blx@bbg}{section}{% \ifcsundef{blx@sections@#1} {\blx@err@nosec{#1}} {\c@refsection#1\relax}} -\define@key{blx@bbc}{section}{% +\blx@kv@defkey{blx@bbc}{section}{% \ifcsundef{blx@sections@#1} {\blx@err@nosec{#1}} {\c@refsection#1\relax}} -\define@key{blx@bib2}{segment}{\blx@key@segment{#1}} -\define@key{blx@biblist2}{segment}{\blx@key@segment{#1}} +\blx@kv@defkey{blx@bib2}{segment}{\blx@key@segment{#1}} +\blx@kv@defkey{blx@biblist2}{segment}{\blx@key@segment{#1}} \def\blx@key@segment#1{% \ifcsundef{blx@segm@\the\c@refsection @#1} @@ -8901,8 +8909,8 @@ \blx@printbibchecks \blx@filter\blx@tempa{blx@segm@\the\c@refsection @#1}}} -\define@key{blx@bib2}{type}{\blx@key@type{#1}} -\define@key{blx@biblist2}{type}{\blx@key@type{#1}} +\blx@kv@defkey{blx@bib2}{type}{\blx@key@type{#1}} +\blx@kv@defkey{blx@biblist2}{type}{\blx@key@type{#1}} \def\blx@key@type#1{% \ifcsundef{blx@type@\the\c@refsection @#1} @@ -8920,8 +8928,8 @@ hence some options may not be used twice.\MessageBreak Use 'filter' and '\string\defbibfilter' with OR conjunctions}}}} -\define@key{blx@bib2}{nottype}{\blx@key@nottype{#1}} -\define@key{blx@biblist2}{nottype}{\blx@key@nottype{#1}} +\blx@kv@defkey{blx@bib2}{nottype}{\blx@key@nottype{#1}} +\blx@kv@defkey{blx@biblist2}{nottype}{\blx@key@nottype{#1}} \def\blx@key@nottype#1{% \ifcsundef{blx@type@\the\c@refsection @#1} @@ -8929,8 +8937,8 @@ {\blx@printbibchecks \blx@notfilter\blx@tempa{blx@type@\the\c@refsection @#1}}} -\define@key{blx@bib2}{subtype}{\blx@key@subtype{#1}} -\define@key{blx@biblist2}{subtype}{\blx@key@subtype{#1}} +\blx@kv@defkey{blx@bib2}{subtype}{\blx@key@subtype{#1}} +\blx@kv@defkey{blx@biblist2}{subtype}{\blx@key@subtype{#1}} \def\blx@key@subtype#1{% \ifcsundef{blx@subt@\the\c@refsection @#1} @@ -8948,8 +8956,8 @@ hence some options may not be used twice.\MessageBreak Use 'filter' and '\string\defbibfilter' with OR conjunctions}}}} -\define@key{blx@bib2}{notsubtype}{\blx@key@notsubtype{#1}} -\define@key{blx@biblist2}{notsubtype}{\blx@key@notsubtype{#1}} +\blx@kv@defkey{blx@bib2}{notsubtype}{\blx@key@notsubtype{#1}} +\blx@kv@defkey{blx@biblist2}{notsubtype}{\blx@key@notsubtype{#1}} \def\blx@key@notsubtype#1{% \ifcsundef{blx@subt@\the\c@refsection @#1} @@ -8957,8 +8965,8 @@ {\blx@printbibchecks \blx@notfilter\blx@tempa{blx@subt@\the\c@refsection @#1}}} -\define@key{blx@bib2}{keyword}{\blx@key@keyword{#1}} -\define@key{blx@biblist2}{keyword}{\blx@key@keyword{#1}} +\blx@kv@defkey{blx@bib2}{keyword}{\blx@key@keyword{#1}} +\blx@kv@defkey{blx@biblist2}{keyword}{\blx@key@keyword{#1}} \def\blx@key@keyword#1{% \ifcsundef{blx@keyw@\the\c@refsection @\detokenize{#1}} @@ -8967,8 +8975,8 @@ {\blx@printbibchecks \blx@filter\blx@tempa{blx@keyw@\the\c@refsection @\detokenize{#1}}}} -\define@key{blx@bib2}{notkeyword}{\blx@key@notkeyword{#1}} -\define@key{blx@biblist2}{notkeyword}{\blx@key@notkeyword{#1}} +\blx@kv@defkey{blx@bib2}{notkeyword}{\blx@key@notkeyword{#1}} +\blx@kv@defkey{blx@biblist2}{notkeyword}{\blx@key@notkeyword{#1}} \def\blx@key@notkeyword#1{% \ifcsundef{blx@keyw@\the\c@refsection @\detokenize{#1}} @@ -8976,8 +8984,8 @@ {\blx@printbibchecks \blx@notfilter\blx@tempa{blx@keyw@\the\c@refsection @\detokenize{#1}}}} -\define@key{blx@bib2}{category}{\blx@key@category{#1}} -\define@key{blx@biblist2}{category}{\blx@key@category{#1}} +\blx@kv@defkey{blx@bib2}{category}{\blx@key@category{#1}} +\blx@kv@defkey{blx@biblist2}{category}{\blx@key@category{#1}} \def\blx@key@category#1{% \ifcsundef{blx@catg@\detokenize{#1}} @@ -8986,8 +8994,8 @@ {\blx@printbibchecks \blx@filter\blx@tempa{blx@catg@\detokenize{#1}}}} -\define@key{blx@bib2}{notcategory}{\blx@key@notcategory{#1}} -\define@key{blx@biblist2}{notcategory}{\blx@key@notcategory{#1}} +\blx@kv@defkey{blx@bib2}{notcategory}{\blx@key@notcategory{#1}} +\blx@kv@defkey{blx@biblist2}{notcategory}{\blx@key@notcategory{#1}} \def\blx@key@notcategory#1{% \ifcsundef{blx@catg@#1} @@ -8995,8 +9003,8 @@ {\blx@printbibchecks \blx@notfilter\blx@tempa{blx@catg@#1}}} -\define@key{blx@bib2}{filter}{\blx@key@filter{#1}} -\define@key{blx@biblist2}{filter}{\blx@key@filter{#1}} +\blx@kv@defkey{blx@bib2}{filter}{\blx@key@filter{#1}} +\blx@kv@defkey{blx@biblist2}{filter}{\blx@key@filter{#1}} \def\blx@key@filter#1{% \ifcsdef{blx@filter@#1} @@ -9008,8 +9016,8 @@ {The filter '#1' could not be found.\MessageBreak Use \string\defbibfilter\space to define it}}} -\define@key{blx@bib2}{check}{\blx@key@bibcheck{#1}} -\define@key{blx@biblist2}{check}{\blx@key@bibcheck{#1}} +\blx@kv@defkey{blx@bib2}{check}{\blx@key@bibcheck{#1}} +\blx@kv@defkey{blx@biblist2}{check}{\blx@key@bibcheck{#1}} % empty bibcheck does nothing \cslet{blx@bibcheck@}\relax @@ -9023,17 +9031,17 @@ Use \string\defbibcheck\space to define it}}} \def\blx@default@theheading{bibliography} -\define@key{blx@bibdefaults}{heading}{% +\blx@kv@defkey{blx@bibdefaults}{heading}{% \blx@key@heading{\blx@default@theheading}{#1}} -\define@key{blx@bhd}{heading}{% +\blx@kv@defkey{blx@bhd}{heading}{% \blx@key@heading{\blx@theheading}{#1}} -\define@key{blx@bib2}{heading}{% +\blx@kv@defkey{blx@bib2}{heading}{% \blx@key@heading{\blx@theheading}{#1}} -\define@key{blx@biblist2}{heading}{% +\blx@kv@defkey{blx@biblist2}{heading}{% \blx@key@heading{\blx@theheading}{#1}} -\define@key{blx@bbs}{heading}{% +\blx@kv@defkey{blx@bbs}{heading}{% \blx@key@heading{\blx@theheading}{#1}} -\define@key{blx@bbg}{heading}{% +\blx@kv@defkey{blx@bbg}{heading}{% \blx@key@heading{\blx@theheading}{#1}} \def\blx@key@heading#1#2{% @@ -9045,13 +9053,13 @@ {\def#1{#2}}} \def\blx@default@theenv{bibliography} -\define@key{blx@bibdefaults}{env}{% +\blx@kv@defkey{blx@bibdefaults}{env}{% \blx@key@env{\blx@default@theenv}{#1}} -\define@key{blx@bib2}{env}{\blx@key@env{\blx@theenv}{#1}} -\define@key{blx@biblist2}{env}{\blx@key@env{\blx@theenv}{#1}} -\define@key{blx@bbs}{env}{\blx@key@env{\blx@theenv}{#1}} -\define@key{blx@bbg}{env}{\blx@key@env{\blx@theenv}{#1}} -\define@key{blx@bbc}{env}{\blx@key@env{\blx@theenv}{#1}} +\blx@kv@defkey{blx@bib2}{env}{\blx@key@env{\blx@theenv}{#1}} +\blx@kv@defkey{blx@biblist2}{env}{\blx@key@env{\blx@theenv}{#1}} +\blx@kv@defkey{blx@bbs}{env}{\blx@key@env{\blx@theenv}{#1}} +\blx@kv@defkey{blx@bbg}{env}{\blx@key@env{\blx@theenv}{#1}} +\blx@kv@defkey{blx@bbc}{env}{\blx@key@env{\blx@theenv}{#1}} \def\blx@key@env#1#2{% \ifcsundef{blx@env@#2} @@ -9062,11 +9070,11 @@ {\def#1{#2}}} \let\blx@default@thetitle\@empty -\define@key{blx@bibdefaults}{title}{% +\blx@kv@defkey{blx@bibdefaults}{title}{% \def\blx@default@thetitle{#1}} -\define@key{blx@bhd}{title}{\def\blx@thetitle{#1}} -\define@key{blx@bib2}{title}{\def\blx@thetitle{#1}} -\define@key{blx@biblist2}{title}{\def\blx@thetitle{#1}} +\blx@kv@defkey{blx@bhd}{title}{\def\blx@thetitle{#1}} +\blx@kv@defkey{blx@bib2}{title}{\def\blx@thetitle{#1}} +\blx@kv@defkey{blx@biblist2}{title}{\def\blx@thetitle{#1}} \cslet{blx@note@}\@empty \def\blx@key@bibnote#1#2{% @@ -9078,49 +9086,51 @@ {\def#1{#2}}} \let\blx@default@theprenote\@empty -\define@key{blx@bibdefaults}{prenote}{% +\blx@kv@defkey{blx@bibdefaults}{prenote}{% \blx@key@bibnote{\blx@default@theprenote}{#1}} -\define@key{blx@bib2}{prenote}{% +\blx@kv@defkey{blx@bib2}{prenote}{% \blx@key@bibnote{\blx@theprenote}{#1}} -\define@key{blx@biblist2}{prenote}{% +\blx@kv@defkey{blx@biblist2}{prenote}{% \blx@key@bibnote{\blx@theprenote}{#1}} -\define@key{blx@bbs}{prenote}{% +\blx@kv@defkey{blx@bbs}{prenote}{% \blx@key@bibnote{\blx@theprenote}{#1}} -\define@key{blx@bbg}{prenote}{% +\blx@kv@defkey{blx@bbg}{prenote}{% \blx@key@bibnote{\blx@theprenote}{#1}} -\define@key{blx@bbc}{prenote}{% +\blx@kv@defkey{blx@bbc}{prenote}{% \blx@key@bibnote{\blx@theprenote}{#1}} \let\blx@default@thepostnote\@empty -\define@key{blx@bibdefaults}{postnote}{% +\blx@kv@defkey{blx@bibdefaults}{postnote}{% \blx@key@bibnote{\blx@default@thepostnote}{#1}} -\define@key{blx@bib2}{postnote}{% +\blx@kv@defkey{blx@bib2}{postnote}{% \blx@key@bibnote{\blx@thepostnote}{#1}} -\define@key{blx@biblist2}{postnote}{% +\blx@kv@defkey{blx@biblist2}{postnote}{% \blx@key@bibnote{\blx@thepostnote}{#1}} -\define@key{blx@bbs}{postnote}{% +\blx@kv@defkey{blx@bbs}{postnote}{% \blx@key@bibnote{\blx@thepostnote}{#1}} -\define@key{blx@bbg}{postnote}{% +\blx@kv@defkey{blx@bbg}{postnote}{% \blx@key@bibnote{\blx@thepostnote}{#1}} -\define@key{blx@bbc}{postnote}{% +\blx@kv@defkey{blx@bbc}{postnote}{% \blx@key@bibnote{\blx@thepostnote}{#1}} -\let\abx@default@locallabelwidth\@gobble -\define@key{blx@bibdefaults}{locallabelwidth}{% - \blx@key@locallabelwidth{\abx@default@locallabelwidth}{#1}} -\define@key{blx@bib1}{locallabelwidth}[]{} -\define@key{blx@biblist1}{locallabelwidth}[]{} -\define@key{blx@bib2}{locallabelwidth}[true]{% - \blx@key@locallabelwidth{\abx@locallabelwidth}{#1}} -\define@key{blx@biblist2}{locallabelwidth}[true]{% - \blx@key@locallabelwidth{\abx@locallabelwidth}{#1}} - -\def\blx@key@locallabelwidth#1#2{% - \ifstrequal{#2}{true} - {\def#1{\blx@locallabelwidth}} - {\let#1\@gobble}} - -\define@key{blx@bib2}{resetnumbers}[true]{% + +\blx@kv@defkey{blx@bibdefaults}{locallabelwidth}{% + \blx@key@locallabelwidth{#1}} +\blx@kv@defkey{blx@bib1}{locallabelwidth}[]{} +\blx@kv@defkey{blx@biblist1}{locallabelwidth}[]{} +\blx@kv@defkey{blx@bib2}{locallabelwidth}[true]{% + \blx@key@locallabelwidth{#1}} +\blx@kv@defkey{blx@biblist2}{locallabelwidth}[true]{% + \blx@key@locallabelwidth{#1}} + +\def\blx@key@locallabelwidth#1{% + \ifstrequal{#1}{true} + {\let\blx@locallabelwidth@init\blx@locallabelwidth@setlengths + \let\blx@locallabelwidth@finish\blx@locallabelwidth@write} + {\let\blx@locallabelwidth@init\relax + \let\blx@locallabelwidth@finish\relax}} + +\blx@kv@defkey{blx@bib2}{resetnumbers}[true]{% \iftoggle{blx@defernumbers} {\ifstrequal{#1}{true} {\csnumdef{blx@labelnumber@\the\c@refsection}{0}} @@ -9131,7 +9141,7 @@ Option 'resetnumbers' requires 'defernumbers=true'.\MessageBreak Ignoring 'resetnumbers=true'}}} -\define@key{blx@bib2}{omitnumbers}[true]{% +\blx@kv@defkey{blx@bib2}{omitnumbers}[true]{% \ifstrequal{#1}{true} {\iftoggle{blx@defernumbers} {\toggletrue{blx@omitnumbers}} @@ -9142,7 +9152,7 @@ \newrobustcmd*{\DeclarePrintbibliographyDefaults}{% - \setkeys{blx@bibdefaults}} + \blx@kv@setkeys{blx@bibdefaults}} % [<options>] \newrobustcmd*{\printbibheading}{% @@ -9156,7 +9166,7 @@ \let\blx@theheading\blx@default@theheading \let\blx@thetitle\blx@default@thetitle \blx@safe@actives - \setkeys{blx@bhd}{#1}% + \blx@kv@setkeys{blx@bhd}{#1}% \blx@rest@actives \blx@bibheading\blx@theheading\blx@thetitle \endgroup} @@ -9188,7 +9198,7 @@ \edef\blx@tempe{\the\c@refsection}% default refsection is current \blx@safe@actives \togglefalse{blx@resetnumsexplicit}% - \setkeys{blx@bib1}{#1}% First pass options keys - section and resetnumbers + \blx@kv@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} @@ -9197,7 +9207,7 @@ {\ifdefempty\blx@refcontext@labelprefix@real} {\@secondoftwo} {} - {\setkeys{blx@bib2}{resetnumbers}}}% + {\blx@kv@setkeys{blx@bib2}{resetnumbers}}}% \blx@rest@actives \ifcsvoid{blx@dlist@entry@\blx@tempe @\blx@refcontext@context} {} @@ -9207,7 +9217,7 @@ % \printbibliography following one with this set will inherit any % previous "true" value \togglefalse{blx@omitnumbers}% - \setkeys{blx@bib2}{#1}% ... now we have correct \blx@tempa, set rest of options + \blx@kv@setkeys{blx@bib2}{#1}% ... now we have correct \blx@tempa, set rest of options \blx@rest@actives % Add datalist to list of seen datalists to prevent duplicates \xifinlist{\blx@refcontext@context @\blx@tempe @entry}\blx@dlistnames @@ -9239,7 +9249,7 @@ \let\blx@thetitle\blx@default@thetitle \c@refsection\z@ \blx@safe@actives - \setkeys{blx@bbs}{#1}% + \blx@kv@setkeys{blx@bbs}{#1}% \blx@rest@actives \togglefalse{blx@tempa}% \blx@refsections} @@ -9278,7 +9288,7 @@ \let\blx@thetitle\blx@default@thetitle \c@refsegment\@ne \blx@safe@actives - \setkeys{blx@bbg}{#1}% + \blx@kv@setkeys{blx@bbg}{#1}% \blx@rest@actives \togglefalse{blx@tempa}% \blx@refsegments} @@ -9322,7 +9332,7 @@ \let\blx@thetitle\blx@default@thetitle \c@refsection\z@ \blx@safe@actives - \setkeys{blx@bbc}{#1}% + \blx@kv@setkeys{blx@bbc}{#1}% \blx@rest@actives \togglefalse{blx@tempa}% \forlistloop\blx@bibcategory\blx@categories @@ -9346,7 +9356,7 @@ \endgroup} % {<entrykey>,...} -\def\blx@bibliography#1{% +\def\blx@bibliography{% \blx@bibheading\blx@theheading\blx@thetitle \blx@bibnote\blx@theprenote \begingroup @@ -9359,17 +9369,18 @@ \ifnum\bibnamesep=\z@ \let\blx@namesep\relax \fi - \abx@locallabelwidth{#1}% + \blx@locallabelwidth@init \csuse{blx@env@\blx@theenv}% \csuse{blx@hook@bibinit}% \csuse{blx@hook@bibinit@next}% \let\blx@do\blx@bibitem \let\blx@done\blx@endbibliography - \blx@listloop{#1}} + \blx@listloop} \def\blx@endbibliography{% \csuse{blx@endenv@\blx@theenv}% \blx@noitem + \blx@locallabelwidth@finish \endgroup \blx@bibnote\blx@thepostnote \endgroup} @@ -9385,7 +9396,7 @@ \let\newrefsegment\relax \ifblank{#2} {\csuse{blx@head@#1}} - {\csuse{blx@head@#1}[#2]}% + {\csuse{blx@head@#1}[{#2}]}% \let\newrefsection\blx@newrefsection \let\newrefsegment\blx@newrefsegment} @@ -9411,25 +9422,6 @@ \csuse{blx@bibsetup}} % {<entrykey>} -\def\blx@lengthitem#1{% - \blx@ifdata{#1} - {\begingroup - \blx@getdata{#1}% - \blx@bibcheck - \iftoggle{blx@skipentry}{}{% - \iftoggle{blx@labelnumber} - {\blx@bbl@locallabelnumberwidth} - {}% - \iftoggle{blx@labelalpha} - {\blx@bbl@locallabelalphawidth} - {}% - \nottoggle{blx@skipbiblist} - {\blx@bbl@locallabelfields} - {}}% - \endgroup} - {}} - -% {<entrykey>} % output a bib item, this is why \blx@thelabelnumber is here so that % labelnumber is deferred if defernumbers=true \def\blx@bibitem#1{% @@ -9444,6 +9436,15 @@ \blx@setoptions@entry \blx@thelabelnumber \addtocounter{instcount}\@ne + \iftoggle{blx@labelnumber} + {\blx@bbl@locallabelnumberwidth} + {}% + \iftoggle{blx@labelalpha} + {\blx@bbl@locallabelalphawidth} + {}% + \nottoggle{blx@skipbiblist} + {\blx@bbl@locallabelfields} + {}% \csuse{blx@item@\blx@theenv}\relax \blx@initsep \blx@namesep @@ -9605,14 +9606,14 @@ \appto\blx@mknohyperref{\let\blx@anchor\relax} -\define@key{blx@biblist2}{driver}{\blx@key@driver{#1}} -\define@key{blx@biblist1}{driver}{} +\blx@kv@defkey{blx@biblist2}{driver}{\blx@key@driver{#1}} +\blx@kv@defkey{blx@biblist1}{driver}{} \def\blx@key@driver#1{% \def\blx@thebiblistdriver{#1}} % Custom bibliography list -% [<otions>]{biblistname} +% [<options>]{biblistname} \newrobustcmd*{\printbiblist}[2][]{% \begingroup \delimcontext{biblist}% @@ -9635,12 +9636,15 @@ \ifcsdef{blx@sortingtemplate@#2} {#2} {\blx@refcontext@sortingtemplatename}}% - % locally define this since we want to fetch data from the datalist named - % after the list we are printing rather than the data in refcontext list - % Note that the name must be unique so we prepend "#2:" because the combination of - % options might not generate a unique name since sortschemename has a fallback to the - % refcontext scheme if there is no sortscheme named after the list - \blx@edef@refcontext{#2:\blx@tempc/% + % locally define this since we want to fetch data from the datalist + % name after the list we are printing rather than the data in + % refcontext list. + % Note that the name must be unique so we prepend any filter name + % because the combination of options might not generate a unique name + % since sortschemename has a fallback to the refcontext scheme if there + % is no sortscheme named after the list + \blx@kv@setkeys{blx@biblist1}{#1}% Set section and biblistfilter only, if present ... + \blx@edef@refcontext{\blx@thebiblistfilter :\blx@tempc/% \blx@refcontext@sortingnamekeytemplatename/% \blx@refcontext@labelprefix/% \blx@refcontext@uniquenametemplatename/% @@ -9658,13 +9662,12 @@ {} {\listxadd\blx@biblists\blx@tempc}% \blx@auxwrite\@mainaux{}{\string\abx@aux@biblist{\blx@tempc}}% - \setkeys{blx@biblist1}{#1}% Set section only, if present ... \blx@rest@actives \ifcsvoid{blx@dlist@list@\blx@tempe @\blx@refcontext@context} {} {\letcs\blx@tempa{blx@dlist@list@\blx@tempe @\blx@refcontext@context}}% \blx@safe@actives - \setkeys{blx@biblist2}{#1}% ... now we have correct \blx@tempa, set rest of options + \blx@kv@setkeys{blx@biblist2}{#1}% ... now we have correct \blx@tempa, set rest of options \ifundef\blx@bibcheck {\ifcsdef{blx@bibcheck@#2} {\letcs\blx@bibcheck{blx@bibcheck@#2}} @@ -9686,11 +9689,21 @@ \iftoggle{blx@defernumbers} {\global\let\blx@printbibchecks\relax} {\iftoggle{blx@labelnumber} - {} + {\ifundef\blx@printbibchecks@suppresswarn + {\blx@warning@noline{% + Split bibliography detected.\MessageBreak + Many simple split bibliography setups with\MessageBreak + non-overlapping bibliographies benefit from% + \MessageBreak + setting 'defernumbers=true'.\MessageBreak + See the documentation for details.\MessageBreak + This warning can be suppressed with\MessageBreak + '\string\BiblatexSplitbibDefernumbersWarningOff'}} + {}} {\global\let\blx@printbibchecks\relax}}} % {<entrykey>,...} -\def\blx@biblist#1{% +\def\blx@biblist{% \if@twocolumn \@restonecoltrue\onecolumn \else @@ -9702,16 +9715,17 @@ \blx@bibinit \let\@noitemerr\@empty \def\blx@noitem{\blx@warn@biblistempty{\blx@thebiblist}}% - \abx@locallabelwidth{#1}% + \blx@locallabelwidth@init \csuse{blx@env@\blx@theenv}% \csuse{blx@hook@biblistinit@\blx@thebiblist}% \let\blx@do\blx@biblistitem \let\blx@done\blx@endbiblist - \blx@listloop{#1}} + \blx@listloop} \def\blx@endbiblist{% \csuse{blx@endenv@\blx@theenv}% \blx@noitem + \blx@locallabelwidth@finish \endgroup \blx@bibnote\blx@thepostnote \endgroup @@ -9735,6 +9749,15 @@ \blx@setoptions@type\abx@field@entrytype \blx@setoptions@entry \addtocounter{instcount}\@ne + \iftoggle{blx@labelnumber} + {\blx@bbl@locallabelnumberwidth} + {}% + \iftoggle{blx@labelalpha} + {\blx@bbl@locallabelalphawidth} + {}% + \nottoggle{blx@skipbiblist} + {\blx@bbl@locallabelfields} + {}% \csuse{blx@item@\blx@theenv}\relax \csuse{blx@hook@biblistitem@\blx@thebiblist}% \blx@execute @@ -9772,8 +9795,8 @@ \def\refcontext@i[#1]{% \@ifnextchar\bgroup - {\refcontext@ii[#1]} - {\refcontext@ii[#1]{}}} + {\refcontext@ii[{#1}]} + {\refcontext@ii[{#1}]{}}} \newcommand*{\refcontext@ii}[2][]{% \iftoggle{blx@refcontext} @@ -9783,11 +9806,12 @@ % Set refcontext from named refcontext, if given \ifblank{#2} {} - {\edef\z{% - \noexpand\setkeys{blx@refcontext}{\csuse{blx@refcontext@name@#2}}}% - \z}% + {\begingroup + \edef\blx@tempa{\endgroup% + \noexpand\blx@kv@setkeys{blx@refcontext}{\csuse{blx@refcontext@name@#2}}}% + \blx@tempa}% % Override with explicit refcontext keyvals, if given - \setkeys{blx@refcontext}{#1}% + \blx@kv@setkeys{blx@refcontext}{#1}% % Add the sortingtemplate to the list of sortingtemplates so we can track % special cases like sorting=none which need cite order change detection \xifinlist\blx@refcontext@sortingtemplatename\blx@sortingtemplatenames @@ -9834,15 +9858,15 @@ \blx@refcontext@labelalphanametemplatename}} % Meta option to set all name template options -\define@key{blx@refcontext}{nametemplates}{% +\blx@kv@defkey{blx@refcontext}{nametemplates}{% \gdef\blx@refcontext@sortingnamekeytemplatename{#1}% \gdef\blx@refcontext@uniquenametemplatename{#1}% \gdef\blx@refcontext@labelalphanametemplatename{#1}} -\define@key{blx@refcontext}{sorting}{\gdef\blx@refcontext@sortingtemplatename{#1}} -\define@key{blx@refcontext}{sortingnamekeytemplatename}{\gdef\blx@refcontext@sortingnamekeytemplatename{#1}} -\define@key{blx@refcontext}{uniquenametemplatename}{\gdef\blx@refcontext@uniquenametemplatename{#1}} -\define@key{blx@refcontext}{labelalphanametemplatename}{\gdef\blx@refcontext@labelalphanametemplatename{#1}} +\blx@kv@defkey{blx@refcontext}{sorting}{\gdef\blx@refcontext@sortingtemplatename{#1}} +\blx@kv@defkey{blx@refcontext}{sortingnamekeytemplatename}{\gdef\blx@refcontext@sortingnamekeytemplatename{#1}} +\blx@kv@defkey{blx@refcontext}{uniquenametemplatename}{\gdef\blx@refcontext@uniquenametemplatename{#1}} +\blx@kv@defkey{blx@refcontext}{labelalphanametemplatename}{\gdef\blx@refcontext@labelalphanametemplatename{#1}} % labelprefix cannot be used as is because it is used to construct the internal % refcontext name which is referenced/expanded a lot all over the place. So, @@ -9850,7 +9874,7 @@ % But that is not enough since the MD5 hash function expands the argument all % the way and so unexpandable content like \dag breaks. % Unexpandable content should be protected with \detokenize. -\define@key{blx@refcontext}{labelprefix}{% +\blx@kv@defkey{blx@refcontext}{labelprefix}{% \xdef\blx@refcontext@labelprefix{\blx@mdfivesum{#1}}% \gdef\blx@refcontext@labelprefix@real{#1}% \iftoggle{blx@defernumbers} @@ -9873,7 +9897,7 @@ \let\blx@tempc\@empty% \def\blx@tempd{global}% \def\blx@tempe{global}% - \setkeys{blx@assignrefcontext}{#2}% + \blx@kv@setkeys{blx@assignrefcontext}{#2}% \def\do##1{% \listxadd\blx@assignedrefcontextkeywlist{##1}% \csxdef{blx@assignedrefcontextkeyws#1@\the\c@refsection @##1}% @@ -9892,7 +9916,7 @@ \let\blx@tempc\@empty% \def\blx@tempd{global}% \def\blx@tempe{global}% - \setkeys{blx@assignrefcontext}{#2}% + \blx@kv@setkeys{blx@assignrefcontext}{#2}% \def\do##1{% \listxadd\blx@assignedrefcontextcatlist{##1}% \csxdef{blx@assignedrefcontextcats#1@\the\c@refsection @##1}% @@ -9911,24 +9935,24 @@ \let\blx@tempc\@empty% \def\blx@tempd{global}% \def\blx@tempe{global}% - \setkeys{blx@assignrefcontext}{#2}% + \blx@kv@setkeys{blx@assignrefcontext}{#2}% \def\do##1{% \csxdef{blx@assignedrefcontextkeys#1@\the\c@refsection @##1}% {\blx@tempa/\blx@tempb/\blx@tempc/\blx@tempd/\blx@tempe}}% \docsvlist{#3}} % Meta option to set all name template options -\define@key{blx@assignrefcontext}{nametemplates}{% +\blx@kv@defkey{blx@assignrefcontext}{nametemplates}{% \def\blx@tempb{#1}% \def\blx@tempd{#1}% \def\blx@tempe{#1}} -\define@key{blx@assignrefcontext}{sorting}{\def\blx@tempa{#1}} -\define@key{blx@assignrefcontext}{sortingnamekeytemplatename}{\def\blx@tempb{#1}} -\define@key{blx@assignrefcontext}{labelprefix}{% +\blx@kv@defkey{blx@assignrefcontext}{sorting}{\def\blx@tempa{#1}} +\blx@kv@defkey{blx@assignrefcontext}{sortingnamekeytemplatename}{\def\blx@tempb{#1}} +\blx@kv@defkey{blx@assignrefcontext}{labelprefix}{% \edef\blx@tempc{\blx@mdfivesum{#1}}} -\define@key{blx@assignrefcontext}{uniquenametemplatename}{\def\blx@tempd{#1}} -\define@key{blx@assignrefcontext}{labelalphanametemplatename}{\def\blx@tempe{#1}} +\blx@kv@defkey{blx@assignrefcontext}{uniquenametemplatename}{\def\blx@tempd{#1}} +\blx@kv@defkey{blx@assignrefcontext}{labelalphanametemplatename}{\def\blx@tempe{#1}} % Reference sections \newrobustcmd*{\newrefsection}{% @@ -10043,6 +10067,11 @@ \AtEndDocument{% \endrefcontext + % close non-0 refsection if active + \ifnum\c@refsection>\z@ + \blx@endrefsection + \fi + % close refsection 0 \blx@endrefsection \def\abx@aux@refsection#1#2{\blx@addchecksum{#1}{#2}}} @@ -10144,20 +10173,27 @@ %% that we can use for that purpose as well. %% This is fairly new, so we need to have a fallback for older versions. -%% The standard classes are tricky. They have no good hooks and just -%% for sections at least \pretocmd-ing executes the code before -%% counters are increased, so the labels attach to the wrong thing. +%% The standard classes are tricky. +%% We insert something in \@startsection to get the level number +%% and then patch \@sect and \@ssect so the label attaches to the +%% right thing. %% Test for correct KOMA patch method % KOMA 3.27 has \AddtoDoHook \newcommand*{\blx@ifkoma@AddtoDoHook}{% - \ifboolexpr{not test {\ifcsundef{KOMAClassName}} - and not test {\ifcsundef{AddtoDoHook}}}} + \ifcsundef{KOMAClassName} + {\@secondoftwo} + {\ifcsundef{AddtoDoHook} + {\@secondoftwo} + {\@firstoftwo}}} % KOMA 3.26 has \startsection@secnumdepth for some testing \newcommand*{\blx@ifkoma@startsection}{% - \ifboolexpr{not test {\ifcsundef{KOMAClassName}} - and not test {\ifcsundef{startsection@secnumdepth}}}} + \ifcsundef{KOMAClassName} + {\@secondoftwo} + {\ifcsundef{startsection@secnumdepth} + {\@secondoftwo} + {\@firstoftwo}}} \newcommand*{\blx@ifmemoir}{\@ifclassloaded{memoir}} @@ -10202,7 +10238,12 @@ \apptocmd\memchapinfo{#1} {}{\blx@err@patch{\string\memchapinfo}}% \apptocmd\memchapstarinfo{#1} - {}{\blx@err@patch{\string\memchapstarinfo}}} + {}{\blx@err@patch{\string\memchapstarinfo}}% + \apptocmd\memappchapinfo{#1} + {}{\blx@err@patch{\string\memappchapinfo}}% + \apptocmd\memappchapstarinfo{#1} + {}{\blx@err@patch{\string\memappchapstarinfo}}% +} \def\blx@refpatch@chapter@std#1{% \pretocmd\@makechapterhead{#1} @@ -10222,7 +10263,7 @@ {\blx@refpatch@chapter@std{#1}}}}} % \section, \subsection -% {<section csname>}{<precode>}{<section level number>} +% {<section csname>}{<patch code>}{<section level number>} \def\blx@refpatch@sect#1#2#3{% \ifcsundef{#1} {\blx@err@nodocdiv{#1}\@gobbletwo} @@ -10241,6 +10282,8 @@ \def\blx@refpatch@sect@koma@startsection#1#2{% \At@startsection{\ifnumequal{\startsection@secnumdepth}{#2}{#1}{}}} +% The memoir classes have a nice hook we can use +% {<section csname>}{<patch code>} \edef\blx@refpatch@sect@memoir#1#2{% \apptocmd\noexpand\memsecinfo {\noexpand\blx@refpatch@sect@memoir@i{\string#1}{#1}{#2}} @@ -10252,31 +10295,94 @@ \def\blx@refpatch@sect@memoir@i#1#2#3{% \ifstrequal{#1}{#2}{#3}{}} -\edef\blx@refpatch@sect@std#1#2{% +% The standard classes have \@startsection, \@sect and \@ssect. +% \@startsection is used by unstarred and starred sections alike +% but it comes in too early if we set labels. +% The counter is only stepped in \@sect, so we need to patch +% that if we want \labels to attach to the right thing. +% But then we also need to patch \@ssect for starred/un-numbered +% sections. Unfortunately, \@ssect doesn't know the level number +% so we patch \@startsection to remember the level number +% in blx@refpatch@current@sectlevel +% and then patch \@sect and \@ssect with the actual code +% testing against blx@refpatch@current@sectlevel. + +% {<do initialization>}{<csv list to do>}{<error>} +\def\blx@refpatch@docsvlist#1#2#3{% + \toggletrue{blx@tempa}% + #1% + \docsvlist{#2}% + \iftoggle{blx@tempa} + {#3} + {}% + \let\do\noexpand} + +\newtoggle{blx@refpatch@sect@std@pre@done} + +\def\blx@refpatch@sect@std@pre{% + \iftoggle{blx@refpatch@sect@std@pre@done} + {} + {\blx@refpatch@docsvlist + {\blx@refpatch@sect@std@pre@defdo} + {\scr@startsection, + \@startsection} + {\blx@err@patch{\string\@startsection}} + \global\toggletrue{blx@refpatch@sect@std@pre@done}}} + +\edef\blx@refpatch@sect@std@pre@defdo{% \def\noexpand\do##1{% - \pretocmd##1% - {\noexpand\blx@refpatch@sect@std@i{#1}{#2}{\string#2}} + \pretocmd##1 + {\csnumdef{blx@refpatch@current@sectlevel}{\string#2}} {\togglefalse{blx@tempa}\noexpand\listbreak} - {}}% - \noexpand\blx@refpatch@sect@std@ii} + {}}} -\def\blx@refpatch@sect@std@i#1#2#3{% - \ifnumequal{#2}{#3}{#1}{}} +\edef\blx@refpatch@sect@std@defdo@sect#1#2{% + \def\noexpand\do##1{% + \patchcmd##1% + {\noexpand\@tempskipa \string#5\noexpand\relax} + {\noexpand\blx@refpatch@sect@std@testandruncode{#1}{#2}% + \noexpand\@tempskipa \string#5\noexpand\relax} + {\togglefalse{blx@tempa}\noexpand\listbreak} + {}}} -\def\blx@refpatch@sect@std@ii{% - \toggletrue{blx@tempa}% - \docsvlist{% order does matter: - \H@old@sectm@m,% memoir+hyperref (what a mess...) - \M@sect,% memoir - \H@old@sect,% hyperref - \NR@sect,% nameref - \scr@sect,% koma-script 3.x - \scr@startsection,% bad hack for koma 3.15 <= v <= 3.25 - \@startsection}% latex - \iftoggle{blx@tempa} +\edef\blx@refpatch@sect@std@defdo@ssect#1#2{% + \def\noexpand\do##1{% + \patchcmd##1% + {\noexpand\@tempskipa \string#3\noexpand\relax} + {\noexpand\blx@refpatch@sect@std@testandruncode{#1}{#2}% + \noexpand\@tempskipa \string#3\noexpand\relax} + {\togglefalse{blx@tempa}\noexpand\listbreak} + {}}} + +% {<patch code>}{<section level number>} +\def\blx@refpatch@sect@std#1#2{% + \blx@refpatch@sect@std@pre + % \@sect for numbered (unstarred) sections + \blx@refpatch@docsvlist + {\blx@refpatch@sect@std@defdo@sect{#1}{#2}} + {\H@old@sectm@m,% memoir+hyperref (what a mess...) + \M@sect,% memoir + \H@old@sect,% hyperref + \NR@sect,% nameref + \scr@sect,% koma-script 3.x + \scr@startsection,% bad hack for koma 3.15 <= v <= 3.25 + \@sect} {\blx@err@patch{\string\@sect}} - {}% - \let\do\noexpand} + % \@ssect for un-numbered (starred) sections + \blx@refpatch@docsvlist + {\blx@refpatch@sect@std@defdo@ssect{#1}{#2}} + {\H@old@ssectm@m,% memoir+hyperref (what a mess...) + \M@ssect,% memoir + \H@old@ssect,% hyperref + \NR@ssect,% nameref + \scr@ssect,% koma-script 3.x + \@ssect} + {\blx@err@patch{\string\@ssect}}} + +\def\blx@refpatch@sect@std@testandruncode#1#2{% + \ifnumequal{#2}{0\csuse{blx@refpatch@current@sectlevel}} + {#1} + {}} % Bibliography categories @@ -10366,10 +10472,13 @@ {\blx@addbib@i{#1}} {\blx@addbib@i{#1}[]}} +% kill all spaces and % +% see https://github.com/plk/biblatex/issues/1026 \def\blx@addbib@i#1[#2]{% \begingroup - \blx@hook@fileverb - \blx@addbib@ii{#1}{#2}} + \@ifnextchar\bgroup + {\blx@hook@fileverb\blx@addbib@ii{#1}{#2}}% + {\blx@hook@fileverb\blx@addbib@ii{#1}{#2}}} \def\blx@addbib@ii#1#2#3{% \endgroup @@ -10379,7 +10488,8 @@ \def\blx@tempc{local}% \undef\blx@tempd \let\blx@tempe\@empty - \setkeys{blx@addbib}{#2}% + \def\blx@tempf{false}% + \blx@kv@setkeys{blx@addbib}{#2}% \blx@xsanitizeafter{#1}{#3}% \endgroup} @@ -10390,22 +10500,27 @@ \catcode`\{=\@ne \catcode`\}=\tw@} -\define@key{blx@addbib}{type}{\def\blx@tempa{#1}} -\define@key{blx@addbib}{datatype}{\def\blx@tempb{#1}} -\define@key{blx@addbib}{location}{\def\blx@tempc{#1}} -\define@key{blx@addbib}{label}{\edef\blx@tempd{\detokenize{#1}}} -\define@key{blx@addbib}{bibencoding}{\def\blx@tempe{#1}} +\blx@kv@defkey{blx@addbib}{type}{\def\blx@tempa{#1}} +\blx@kv@defkey{blx@addbib}{datatype}{\def\blx@tempb{#1}} +\blx@kv@defkey{blx@addbib}{location}{\def\blx@tempc{#1}} +\blx@kv@defkey{blx@addbib}{label}{\edef\blx@tempd{\detokenize{#1}}} +\blx@kv@defkey{blx@addbib}{bibencoding}{\def\blx@tempe{#1}} +\blx@kv@defkey{blx@addbib}{glob}[true]{\def\blx@tempf{#1}} % \blx@res@type@<resource> resource -> type % \blx@res@data@<resource> resource -> datatype % \blx@res@loca@<resource> resource -> datatype % \blx@res@labl@<resource> label -> resource +% \blx@res@glob@<resource> glob -> true|false \def\blx@addbib@register#1{% \csxdef{blx@res@type@#1}{\blx@tempa}% \csxdef{blx@res@data@#1}{\blx@tempb}% \csxdef{blx@res@loca@#1}{\blx@tempc}% \csxdef{blx@res@bibencoding@#1}{\blx@tempe}% + \ifdef\blx@tempf + {\csxdef{blx@res@glob@#1}{\blx@tempf}} + {}% \ifdef\blx@tempd {\csxdef{blx@res@labl@\blx@tempd}{#1}} {}} @@ -10438,6 +10553,9 @@ {\ifcsvoid{blx@res@bibencoding@#2} {} { encoding="\csuse{blx@res@bibencoding@#2}"}} + {\ifcsvoid{blx@res@glob@#2} + {} + { glob="\csuse{blx@res@glob@#2}"}} {#3}}} %% Citations @@ -10452,6 +10570,12 @@ \newrobustcmd*{\AtEachCitekey}{% \iftoggle{blx@citation}{\appto\blx@hook@citekey}{\@gobble}} +\let\blx@hook@entrykey\@gobble +\newrobustcmd*{\AtEveryEntrykey}{% + \apptocmd{\blx@hook@entrykey}} +\@onlypreamble\AtEveryEntrykey + + \def\blx@imc@UseEveryCiteHook{\csuse{blx@hook@cite}} \def\blx@imc@UseEveryCitekeyHook{\csuse{blx@hook@citekey}} \def\blx@imc@UseEveryMultiCiteHook{\csuse{blx@hook@mcite}} @@ -10550,7 +10674,8 @@ {\ifinlistcs{#1}{blx@miss@\the\c@refsection} {} {\blx@logreq@active{#2{#1}}}} - {\blx@logreq@active{#2{#1}}}}} + {\blx@logreq@active{#2{#1}}}}% + \blx@hook@entrykey{#1}} \protected\def\abx@aux@segm#1#2#3{% \xifinlistcs{\detokenize{#3}}{blx@segm@#1@#2} @@ -10695,7 +10820,7 @@ % {<entrykey>} \def\blx@citeadd#1{% \ifcsdef{blx@keyalias@\the\c@refsection @#1} - {\edef\blx@realkey{\csuse{blx@keyalias@\the\c@refsection @#1}}} + {\letcs\blx@realkey{blx@keyalias@\the\c@refsection @#1}} {\def\blx@realkey{#1}}% \expandafter\blx@getrefcontext\expandafter{\blx@realkey}% needed for \ifdata \expandafter\blx@citation\expandafter{\blx@realkey}\blx@msg@cundefon @@ -11397,7 +11522,7 @@ \long\def\blx@citexpunct@i#1#2#3#4{% \@ifnextchar[%] {\blx@citexpunct@ii{#1}{{#2}{#3}{#4}}} - {\blx@citexpunct@ii{#1}{{#2}{#3}{#4}}[#1]}} + {\blx@citexpunct@ii{#1}{{#2}{#3}{#4}}[{#1}]}} \long\def\blx@citexpunct@ii#1#2[#3]#4{% \blx@thecheckpunct{\blxcitecmd{#1}#2{#3}{#4}}} @@ -11825,7 +11950,7 @@ \ifnameundef{#5} {\blx@warning@entry{'#5' undefined or not a name list}% \abx@missing{#5}} - {\printnames[#4]{#5}}}% + {\printnames[{#4}]{#5}}}% \def\blx@dlimcode{\multicitedelim}% \def\blx@postpunct@saved{#6}% \ifblank{#2} @@ -11853,7 +11978,7 @@ \iflistundef{#5} {\blx@warning@entry{'#5' undefined or not a literal list}% \abx@missing{#5}} - {\printlist[#4]{#5}}}% + {\printlist[{#4}]{#5}}}% \def\blx@dlimcode{\multicitedelim}% \def\blx@postpunct@saved{#6}% \ifblank{#2} @@ -11882,7 +12007,7 @@ \iffieldundef{#5} {\blx@warning@entry{'#5' undefined or not a field}% \abx@missing{#5}} - {\printfield[#4]{#5}}}% + {\printfield[{#4}]{#5}}}% \def\blx@dlimcode{\multicitedelim}% \def\blx@postpunct@saved{#6}% \ifblank{#2} @@ -11947,6 +12072,9 @@ \def\iffieldequals#1#2{\blx@TE{\blx@imc@iffieldequals{#1}{#2}}}% \def\iffieldequalstr#1#2{\blx@TE{\blx@imc@iffieldequalstr{#1}{#2}}}% \def\iffieldsequal#1#2{\blx@TE{\blx@imc@iffieldsequal{#1}{#2}}}% + \def\iflistequalcs#1#2{\blx@TE{\blx@imc@iflistequalcs{#1}{#2}}}% + \def\iflistequals#1#2{\blx@TE{\blx@imc@iflistequals{#1}{#2}}}% + \def\iflistsequal#1#2{\blx@TE{\blx@imc@iflistsequal{#1}{#2}}}% \def\ifbibmacroundef#1{\blx@TE{\blx@imc@ifbibmacroundef{#1}}}% \def\iffieldundef#1{\blx@TE{\blx@imc@iffieldundef{#1}}}% \def\ifnameequalcs#1#2{\blx@TE{\blx@imc@ifnameequalcs{#1}{#2}}}% @@ -12586,8 +12714,8 @@ ~~<bcf:bibdata section="#1">\blx@nl #2% ~~</bcf:bibdata>\blx@nl} -\xdef\blx@xml@datasource#1#2#3#4{% - ~~~~<bcf:datasource type="#1" datatype="#2"#3>#4</bcf:datasource>\blx@nl} +\xdef\blx@xml@datasource#1#2#3#4#5{% + ~~~~<bcf:datasource type="#1" datatype="#2"#3#4>#5</bcf:datasource>\blx@nl} \xdef\blx@xml@citekey#1#2#3{% ~~~~<bcf:citekey order="#3"#2>#1</bcf:citekey>} \xdef\blx@xml@citeset#1#2{% @@ -12713,8 +12841,8 @@ \blx@safe@actives \let\protect\string % options - \edef\labelalphaothers{\labelalphaothers}% - \edef\sortalphaothers{\sortalphaothers}% + \protected@edef\labelalphaothers{\labelalphaothers}% + \protected@edef\sortalphaothers{\sortalphaothers}% \blx@xmlsanitizeafter{\def\labelalphaothers}{\labelalphaothers}% \blx@xmlsanitizeafter{\def\sortalphaothers}{\sortalphaothers}% % Expand the global use* name toggles @@ -13026,7 +13154,7 @@ \let\blx@dm@datatype\@empty \let\blx@member@field\@empty \let\blx@tempb\@empty - \setkeys{blx@datafieldsets@member}{#1}% + \blx@kv@setkeys{blx@datafieldsets@member}{#1}% \eappto\blx@tempa{% \blx@xml@datafieldsets@member{\blx@tempb}}% \ifdefempty\blx@member@field @@ -13051,13 +13179,13 @@ \listcsxadd{blx@datafieldset@\blx@setname}{##1}} \dolistcsloop{blx@datamodelfields@datatypes@\blx@dm@datatype}}}} -\define@key{blx@datafieldsets@member}{datatype}{% characters +\blx@kv@defkey{blx@datafieldsets@member}{datatype}{% characters \appto\blx@tempb{ datatype="#1"}% \def\blx@dm@datatype{#1}} -\define@key{blx@datafieldsets@member}{fieldtype}{% characters +\blx@kv@defkey{blx@datafieldsets@member}{fieldtype}{% characters \appto\blx@tempb{ fieldtype="#1"}% \def\blx@dm@fieldtype{#1}} -\define@key{blx@datafieldsets@member}{field}{% characters +\blx@kv@defkey{blx@datafieldsets@member}{field}{% characters \appto\blx@tempb{ field="#1"}% \def\blx@member@field{#1}} @@ -13093,8 +13221,8 @@ \let\map\blx@sourcemap@map #2% \ifblank{#1} - {\setkeys{blx@sourcemap@maps}{datatype=bibtex, level=driver}} - {\setkeys{blx@sourcemap@maps}{#1, level=driver}}% + {\blx@kv@setkeys{blx@sourcemap@maps}{datatype=bibtex, level=driver}} + {\blx@kv@setkeys{blx@sourcemap@maps}{#1, level=driver}}% \eappto\blx@tempa{% \blx@xml@sourcemap@maps{\blx@tempb}{\blx@tempc}}% \csxdef{blx@sourcemap@defaults@\blx@tempd}{\blx@tempa}% @@ -13106,8 +13234,8 @@ \let\blx@tempc\@empty \let\map\blx@sourcemap@map \ifblank{#1} - {\setkeys{blx@sourcemap@maps}{datatype=bibtex, level=user}} - {\setkeys{blx@sourcemap@maps}{#1, level=user}}% + {\blx@kv@setkeys{blx@sourcemap@maps}{datatype=bibtex, level=user}} + {\blx@kv@setkeys{blx@sourcemap@maps}{#1, level=user}}% #2% \eappto\blx@tempa{% \blx@xml@sourcemap@maps{\blx@tempb}{\blx@tempc}}} @@ -13117,20 +13245,20 @@ \let\blx@tempc\@empty \let\map\blx@sourcemap@map \ifblank{#1} - {\setkeys{blx@sourcemap@maps}{datatype=bibtex, level=style}} - {\setkeys{blx@sourcemap@maps}{#1, level=style}}% + {\blx@kv@setkeys{blx@sourcemap@maps}{datatype=bibtex, level=style}} + {\blx@kv@setkeys{blx@sourcemap@maps}{#1, level=style}}% #2% \eappto\blx@tempa{% \blx@xml@sourcemap@maps{\blx@tempb}{\blx@tempc}}} -\define@key{blx@sourcemap@maps}{datatype}{% characters +\blx@kv@defkey{blx@sourcemap@maps}{datatype}{% characters \eappto\blx@tempb{ datatype="#1"}% \eappto\blx@tempd{#1}} -\define@key{blx@sourcemap@maps}{overwrite}[true]{% true|false +\blx@kv@defkey{blx@sourcemap@maps}{overwrite}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempb{ map\string_overwrite="1"}} {}} -\define@key{blx@sourcemap@maps}{level}{% user|style|driver +\blx@kv@defkey{blx@sourcemap@maps}{level}{% user|style|driver \appto\blx@tempb{ level="#1"}} \newcommand*{\blx@sourcemap@map}[2][]{% @@ -13142,18 +13270,18 @@ \let\step\blx@sourcemap@step \ifblank{#1} {} - {\setkeys{blx@sourcemap@map}{#1}}% + {\blx@kv@setkeys{blx@sourcemap@map}{#1}}% #2% \eappto\blx@tempc{% \blx@xml@sourcemap@map{\blx@tempm}{\blx@tempe}}} -\define@key{blx@sourcemap@map}{overwrite}[true]{% true|false +\blx@kv@defkey{blx@sourcemap@map}{overwrite}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempm{ map\string_overwrite="1"}} {}} -\define@key{blx@sourcemap@map}{foreach}{% characters +\blx@kv@defkey{blx@sourcemap@map}{foreach}{% characters \eappto\blx@tempm{ map\string_foreach="#1"}} -\define@key{blx@sourcemap@map}{refsection}{% integer +\blx@kv@defkey{blx@sourcemap@map}{refsection}{% integer \eappto\blx@tempm{ refsection="#1"}} \newcommand*{\blx@sourcemap@perdatasource}[1]{% @@ -13170,96 +13298,100 @@ \newcommand*{\blx@sourcemap@step}[1][2]{% \let\blx@tempf\@empty - \setkeys{blx@sourcemap@step}{#1}% + \blx@kv@setkeys{blx@sourcemap@step}{#1}% \eappto\blx@tempe{% \blx@xml@sourcemap@step{\blx@tempf}}} -\define@key{blx@sourcemap@step}{typesource}{% characters +\blx@kv@defkey{blx@sourcemap@step}{typesource}{% characters \eappto\blx@tempf{ map\string_type\string_source="#1"}} -\define@key{blx@sourcemap@step}{typetarget}{% characters +\blx@kv@defkey{blx@sourcemap@step}{typetarget}{% characters \eappto\blx@tempf{ map\string_type\string_target="#1"}} -\define@key{blx@sourcemap@step}{final}[true]{% true|false +\blx@kv@defkey{blx@sourcemap@step}{final}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempf{ map\string_final="1"}} {}} -\define@key{blx@sourcemap@step}{cited}[true]{% true|false +\blx@kv@defkey{blx@sourcemap@step}{cited}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempf{ map\string_entrykey\string_cited="1"}} {}} -\define@key{blx@sourcemap@step}{nocited}[true]{% true|false +\blx@kv@defkey{blx@sourcemap@step}{nocited}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempf{ map\string_entrykey\string_nocited="1"}} {}} -\define@key{blx@sourcemap@step}{citedornocited}[true]{% true|false +\blx@kv@defkey{blx@sourcemap@step}{citedornocited}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempf{ map\string_entrykey\string_citedornocited="1"}} {}} -\define@key{blx@sourcemap@step}{allnocited}[true]{% true|false +\blx@kv@defkey{blx@sourcemap@step}{allnocited}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempf{ map\string_entrykey\string_allnocited="1"}} {}} -\define@key{blx@sourcemap@step}{fieldsource}{% characters +\blx@kv@defkey{blx@sourcemap@step}{starnocited}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempf{ map\string_entrykey\string_starnocited="1"}} + {}} +\blx@kv@defkey{blx@sourcemap@step}{fieldsource}{% characters \eappto\blx@tempf{ map\string_field\string_source="#1"}} -\define@key{blx@sourcemap@step}{notfield}{% characters +\blx@kv@defkey{blx@sourcemap@step}{notfield}{% characters \eappto\blx@tempf{ map\string_notfield="#1"}} -\define@key{blx@sourcemap@step}{fieldtarget}{% characters +\blx@kv@defkey{blx@sourcemap@step}{fieldtarget}{% characters \eappto\blx@tempf{ map\string_field\string_target="#1"}} -\define@key{blx@sourcemap@step}{fieldset}{% characters +\blx@kv@defkey{blx@sourcemap@step}{fieldset}{% characters \eappto\blx@tempf{ map\string_field\string_set="#1"}} % We are sanitising the XML here as it's the value of an attribute which % might contain quotes or ampersands (URLs, for example) -\define@key{blx@sourcemap@step}{fieldvalue}{% characters +\blx@kv@defkey{blx@sourcemap@step}{fieldvalue}{% characters \blx@xmlsanitizeafter{\def\blx@temps}{#1}% \eappto\blx@tempf{ map\string_field\string_value="\blx@temps"}} -\define@key{blx@sourcemap@step}{append}[true]{% true|false +\blx@kv@defkey{blx@sourcemap@step}{append}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempf{ map\string_append="1"}} {}} -\define@key{blx@sourcemap@step}{appendstrict}[true]{% true|false +\blx@kv@defkey{blx@sourcemap@step}{appendstrict}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempf{ map\string_appendstrict="1"}} {}} -\define@key{blx@sourcemap@step}{null}[true]{% true|false +\blx@kv@defkey{blx@sourcemap@step}{null}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempf{ map\string_null="1"}} {}} -\define@key{blx@sourcemap@step}{entrynull}[true]{% true|false +\blx@kv@defkey{blx@sourcemap@step}{entrynull}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempf{ map\string_entry\string_null="1"}} {}} -\define@key{blx@sourcemap@step}{entrynocite}[true]{% true|false +\blx@kv@defkey{blx@sourcemap@step}{entrynocite}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempf{ map\string_entry\string_nocite="1"}} {}} -\define@key{blx@sourcemap@step}{entrynew}{% characters +\blx@kv@defkey{blx@sourcemap@step}{entrynew}{% characters \appto\blx@tempf{ map\string_entry\string_new="#1"}} -\define@key{blx@sourcemap@step}{entrynewtype}{% characters +\blx@kv@defkey{blx@sourcemap@step}{entrynewtype}{% characters \appto\blx@tempf{ map\string_entry\string_newtype="#1"}} -\define@key{blx@sourcemap@step}{entrytarget}{% characters +\blx@kv@defkey{blx@sourcemap@step}{entrytarget}{% characters \appto\blx@tempf{ map\string_entrytarget="#1"}} -\define@key{blx@sourcemap@step}{entryclone}{% characters +\blx@kv@defkey{blx@sourcemap@step}{entryclone}{% characters \appto\blx@tempf{ map\string_entry\string_clone="#1"}} -\define@key{blx@sourcemap@step}{origfield}[true]{% true|false +\blx@kv@defkey{blx@sourcemap@step}{origfield}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempf{ map\string_origfield="1"}} {}} -\define@key{blx@sourcemap@step}{origfieldval}[true]{% true|false +\blx@kv@defkey{blx@sourcemap@step}{origfieldval}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempf{ map\string_origfieldval="1"}} {}} -\define@key{blx@sourcemap@step}{origentrytype}[true]{% true|false +\blx@kv@defkey{blx@sourcemap@step}{origentrytype}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempf{ map\string_origentrytype="1"}} {}} -\define@key{blx@sourcemap@step}{match}{% characters +\blx@kv@defkey{blx@sourcemap@step}{match}{% characters \appto\blx@tempf{ map\string_match="#1"}} -\define@key{blx@sourcemap@step}{matchi}{% characters +\blx@kv@defkey{blx@sourcemap@step}{matchi}{% characters \appto\blx@tempf{ map\string_matchi="#1"}} -\define@key{blx@sourcemap@step}{notmatch}{% characters +\blx@kv@defkey{blx@sourcemap@step}{notmatch}{% characters \appto\blx@tempf{ map\string_notmatch="#1"}} -\define@key{blx@sourcemap@step}{notmatchi}{% characters +\blx@kv@defkey{blx@sourcemap@step}{notmatchi}{% characters \appto\blx@tempf{ map\string_notmatchi="#1"}} -\define@key{blx@sourcemap@step}{replace}{% characters +\blx@kv@defkey{blx@sourcemap@step}{replace}{% characters \eappto\blx@tempf{ map\string_replace="#1"}} % [<specname>]{<spec>} @@ -13288,29 +13420,29 @@ \let\blx@tempc\@empty \ifblank{#1} {} - {\setkeys{blx@lantem@namepart}{#1}}% + {\blx@kv@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 +\blx@kv@defkey{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 +\blx@kv@defkey{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 +\blx@kv@defkey{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 +\blx@kv@defkey{blx@lantem@namepart}{strwidth}{% integer \eappto\blx@tempc{ substring\string_width="#1"}} -\define@key{blx@lantem@field}{strside}{% left|right +\blx@kv@defkey{blx@lantem@field}{strside}{% left|right \ifstrequal{#1}{right} {\eappto\blx@tempc{ substring\string_side="right"}} {\eappto\blx@tempc{ substring\string_side="left"}}} @@ -13356,56 +13488,56 @@ \let\blx@tempc\@empty \ifblank{#1} {} - {\setkeys{blx@latem@field}{#1}}% + {\blx@kv@setkeys{blx@latem@field}{#1}}% \eappto\blx@tempb{% \blx@xml@labelalpha@part{\blx@tempc}{#2}}} -\define@key{blx@latem@field}{uppercase}[true]{% true|false +\blx@kv@defkey{blx@latem@field}{uppercase}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempc{ uppercase="1"}} {}} -\define@key{blx@latem@field}{lowercase}[true]{% true|false +\blx@kv@defkey{blx@latem@field}{lowercase}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempc{ lowercase="1"}} {}} -\define@key{blx@latem@field}{final}[true]{% true|false +\blx@kv@defkey{blx@latem@field}{final}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempc{ final="1"}} {}} -\define@key{blx@latem@field}{strwidth}{% integer +\blx@kv@defkey{blx@latem@field}{strwidth}{% integer \eappto\blx@tempc{ substring\string_width="#1"}} -\define@key{blx@latem@field}{varwidth}[true]{% "v" +\blx@kv@defkey{blx@latem@field}{varwidth}[true]{% "v" \ifstrequal{#1}{true} {\appto\blx@tempc{ substring\string_width="v"}} {}} -\define@key{blx@latem@field}{varwidthnorm}[true]{% "vf" +\blx@kv@defkey{blx@latem@field}{varwidthnorm}[true]{% "vf" \ifstrequal{#1}{true} {\appto\blx@tempc{ substring\string_width="vf"}} {}} -\define@key{blx@latem@field}{varwidthlist}[true]{% "l" +\blx@kv@defkey{blx@latem@field}{varwidthlist}[true]{% "l" \ifstrequal{#1}{true} {\appto\blx@tempc{ substring\string_width="l"}} {}} -\define@key{blx@latem@field}{strfixedcount}{% +\blx@kv@defkey{blx@latem@field}{strfixedcount}{% \eappto\blx@tempc{ substring\string_fixed\string_threshold="#1"}} -\define@key{blx@latem@field}{strwidthmax}{% +\blx@kv@defkey{blx@latem@field}{strwidthmax}{% \eappto\blx@tempc{ substring\string_width\string_max="#1"}} -\define@key{blx@latem@field}{strside}{% left|right +\blx@kv@defkey{blx@latem@field}{strside}{% left|right \ifstrequal{#1}{right} {\eappto\blx@tempc{ substring\string_side="right"}} {\eappto\blx@tempc{ substring\string_side="left"}}} -\define@key{blx@latem@field}{namessep}{% +\blx@kv@defkey{blx@latem@field}{namessep}{% \eappto\blx@tempc{ namessep="#1"}} -\define@key{blx@latem@field}{ifnames}{% +\blx@kv@defkey{blx@latem@field}{ifnames}{% \eappto\blx@tempc{ ifnames="#1"}} -\define@key{blx@latem@field}{names}{% +\blx@kv@defkey{blx@latem@field}{names}{% \eappto\blx@tempc{ names="#1"}} -\define@key{blx@latem@field}{noalphaothers}[true]{% +\blx@kv@defkey{blx@latem@field}{noalphaothers}[true]{% \eappto\blx@tempc{ noalphaothers="1"}} -\define@key{blx@latem@field}{padchar}{% +\blx@kv@defkey{blx@latem@field}{padchar}{% \blx@xmlsanitizeafter{\def\blx@temps}{#1}% \eappto\blx@tempc{ pad\string_char="\expandafter\regexp\expandafter{\blx@temps}"}} -\define@key{blx@latem@field}{padside}{% left|right +\blx@kv@defkey{blx@latem@field}{padside}{% left|right \ifstrequal{#1}{left} {\eappto\blx@tempc{ pad\string_side="left"}} {\eappto\blx@tempc{ pad\string_side="right"}}} @@ -13416,7 +13548,7 @@ \let\blx@tempf\@empty \ifblank{#2} {} - {\setkeys{blx@inherit@default}{#2}}% + {\blx@kv@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}"% @@ -13432,11 +13564,11 @@ \newtoggle{blx@inherit@all} \newtoggle{blx@inherit@override} -\define@key{blx@inherit@default}{all}[true]{% true|false +\blx@kv@defkey{blx@inherit@default}{all}[true]{% true|false \settoggle{blx@inherit@all}{#1}} -\define@key{blx@inherit@default}{override}[true]{% true|false +\blx@kv@defkey{blx@inherit@default}{override}[true]{% true|false \settoggle{blx@inherit@override}{#1}} -\define@key{blx@inherit@default}{ignore}{% csv list +\blx@kv@defkey{blx@inherit@default}{ignore}{% csv list \edef\blx@tempf{ ignore="#1"}} % {<source>}{<target>}{<options>} @@ -13444,15 +13576,15 @@ \let\blx@tempc\@empty \ifblank{#3} {} - {\setkeys{blx@inherit@except}{#3}}% + {\blx@kv@setkeys{blx@inherit@except}{#3}}% \eappto\blx@tempb{% \blx@xml@inherit@type{#1}{#2}{\blx@tempc}}} -\define@key{blx@inherit@except}{all}[true]{% true|false +\blx@kv@defkey{blx@inherit@except}{all}[true]{% true|false \eappto\blx@tempc{ inherit\string_all="#1"}} -\define@key{blx@inherit@except}{override}[true]{% true|false +\blx@kv@defkey{blx@inherit@except}{override}[true]{% true|false \eappto\blx@tempc{ override\string_target="#1"}} -\define@key{blx@inherit@except}{ignore}{% csv list +\blx@kv@defkey{blx@inherit@except}{ignore}{% csv list \eappto\blx@tempc{ ignore="#1"}} % {<type,type,...>}{<type,type,...>}{<spec>} @@ -13462,7 +13594,7 @@ \let\blx@tempf\@empty \ifblank{#1} {} - {\setkeys{blx@inherit}{#1}}% + {\blx@kv@setkeys{blx@inherit}{#1}}% \forcsvlist{\blx@inherit@i{#3}}{#2}% \let\blx@tempb\@empty \let\inherit\blx@inherit@field @@ -13488,17 +13620,17 @@ \let\blx@tempc\@empty \ifblank{#1} {} - {\setkeys{blx@inherit@field}{#1}}% + {\blx@kv@setkeys{blx@inherit@field}{#1}}% \eappto\blx@tempb{% \blx@xml@inherit@field{#2}{#3}{\blx@tempc}}} \newcommand*{\blx@inherit@block}[1]{% \eappto\blx@tempb{\blx@xml@inherit@block{#1}}} -\define@key{blx@inherit}{ignore}{% csv list +\blx@kv@defkey{blx@inherit}{ignore}{% csv list \edef\blx@tempf{ ignore="#1"}} -\define@key{blx@inherit@field}{override}[true]{% true|false +\blx@kv@defkey{blx@inherit@field}{override}[true]{% true|false \ifstrequal{#1}{true} {\edef\blx@tempc{ override\string_target="true"}} {\edef\blx@tempc{ override\string_target="false"}}} @@ -13526,21 +13658,21 @@ \newcommand*{\blx@biblistfilter}[1][2]{% \let\blx@tempc\@empty \let\blx@tempd\@empty - \setkeys{blx@biblistfilter@filter}{#1}% + \blx@kv@setkeys{blx@biblistfilter@filter}{#1}% \eappto\blx@tempa{% \blx@xml@dlistfilter{\blx@tempc}{\blx@tempd}}} -\define@key{blx@biblistfilter@filter}{type}{% +\blx@kv@defkey{blx@biblistfilter@filter}{type}{% \def\blx@tempc{#1}} -\define@key{blx@biblistfilter@filter}{filter}{% +\blx@kv@defkey{blx@biblistfilter@filter}{filter}{% \def\blx@tempd{#1}} % Predefine filters for label fields \def\do#1{\DeclareBiblistFilter{#1}{\filter[type=field,filter=#1]}} \abx@dolabelfields -\define@key{blx@biblist2}{biblistfilter}{\blx@key@biblistfilter{#1}} -\define@key{blx@biblist1}{biblistfilter}{} +\blx@kv@defkey{blx@biblist1}{biblistfilter}{\blx@key@biblistfilter{#1}} +\blx@kv@defkey{blx@biblist2}{biblistfilter}{} \def\blx@key@biblistfilter#1{% \ifcsundef{blx@biblistfilters@#1} @@ -13599,21 +13731,21 @@ \let\blx@tempc\@empty \ifblank{#1} {} - {\setkeys{blx@untemp@namepart}{#1}}% + {\blx@kv@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 +\blx@kv@defkey{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 +\blx@kv@defkey{blx@untemp@namepart}{base}[true]{% base option for namepart true|false \ifstrequal{#1}{true} {\appto\blx@tempc{ base="1"}} {}} -\define@key{blx@untemp@namepart}{disambiguation}{% disambiguation option for namepart none|inits|full|fullonly +\blx@kv@defkey{blx@untemp@namepart}{disambiguation}{% disambiguation option for namepart none|inits|full|fullonly \appto\blx@tempc{ disambiguation="#1"}} % [<templatename>]{<template>} @@ -13668,16 +13800,16 @@ \let\blx@tempc\@empty \ifblank{#1} {} - {\setkeys{blx@sortnk@namepart}{#1}}% + {\blx@kv@setkeys{blx@sortnk@namepart}{#1}}% \eappto\blx@tempb{% \blx@xml@sortingnamekeynamepart{\blx@tempe}{\blx@tempc}{#2}}} -\define@key{blx@sortnk@namepart}{use}[true]{% use* option for namepart true|false +\blx@kv@defkey{blx@sortnk@namepart}{use}[true]{% use* option for namepart true|false \ifstrequal{#1}{true} {\appto\blx@tempc{ use="1"}} {\appto\blx@tempc{ use="0"}}} -\define@key{blx@sortnk@namepart}{inits}[true]{% initials only option for namepart true|false +\blx@kv@defkey{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"}}} @@ -13686,7 +13818,7 @@ \newrobustcmd*{\DeclareSortingTemplate}[3][]{% \ifblank{#1} {} - {\setkeys{blx@sortdef@sorting}{#1}% + {\blx@kv@setkeys{blx@sortdef@sorting}{#1}% \csxdef{blx@sortdef@locale@#2}{\blx@templ}}% \begingroup \def\name{%LEGACY(<2.0) @@ -13700,7 +13832,10 @@ \let\sort\blx@sortdef@sort \let\field\blx@sortdef@field \let\literal\blx@sortdef@literal - \def\citeorder{\blx@sortdef@field{citeorder}}% + \global\csundef{blx@sortingtemplate@citeorder@relevant@#2}% + \def\citeorder{% + \global\cslet{blx@sortingtemplate@citeorder@relevant@#2}\@empty + \blx@sortdef@field{citeorder}}% \blx@tempcnta\z@ \let\blx@tempa\@empty #3% @@ -13709,7 +13844,7 @@ \@onlypreamble\DeclareSortingTemplate \blx@DeclareBackendOption{global}[xml]{sortingtemplate} -\define@key{blx@sortdef@sorting}{locale}{% locale name +\blx@kv@defkey{blx@sortdef@sorting}{locale}{% locale name \def\blx@templ{#1}} \newcommand*{\blx@sortdef@sort}[2][]{% @@ -13719,27 +13854,27 @@ \edef\blx@tempc{order="\the\blx@tempcnta"}% \ifblank{#1} {} - {\setkeys{blx@sortdef@sort}{#1}}% + {\blx@kv@setkeys{blx@sortdef@sort}{#1}}% \let\do\@firstofone #2% \eappto\blx@tempa{% \blx@xml@sort{\blx@tempc}{\blx@tempb}}} -\define@key{blx@sortdef@sort}{locale}{% locale name +\blx@kv@defkey{blx@sortdef@sort}{locale}{% locale name \eappto\blx@tempc{ locale="#1"}} -\define@key{blx@sortdef@sort}{direction}{% ascending|descending +\blx@kv@defkey{blx@sortdef@sort}{direction}{% ascending|descending \ifstrequal{#1}{ascending} {\eappto\blx@tempc{ sort\string_direction="ascending"}} {\eappto\blx@tempc{ sort\string_direction="descending"}}} -\define@key{blx@sortdef@sort}{final}[true]{% true|false +\blx@kv@defkey{blx@sortdef@sort}{final}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempc{ final="1"}} {}} -\define@key{blx@sortdef@sort}{sortcase}[true]{% true|false +\blx@kv@defkey{blx@sortdef@sort}{sortcase}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempc{ sortcase="1"}} {\appto\blx@tempc{ sortcase="0"}}} -\define@key{blx@sortdef@sort}{sortupper}[true]{% true|false +\blx@kv@defkey{blx@sortdef@sort}{sortupper}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempc{ sortupper="1"}} {\appto\blx@tempc{ sortupper="0"}}} @@ -13749,24 +13884,24 @@ \edef\blx@tempd{order="\the\blx@tempcntb"}% \ifblank{#1} {} - {\setkeys{blx@sortdef@field}{#1}}% + {\blx@kv@setkeys{blx@sortdef@field}{#1}}% \eappto\blx@tempb{% \blx@xml@sortitem{\blx@tempd}{#2}}} -\define@key{blx@sortdef@field}{padside}{% left|right +\blx@kv@defkey{blx@sortdef@field}{padside}{% left|right \ifstrequal{#1}{right} {\eappto\blx@tempd{ pad\string_side="right"}} {\eappto\blx@tempd{ pad\string_side="left"}}} -\define@key{blx@sortdef@field}{padwidth}{% integer +\blx@kv@defkey{blx@sortdef@field}{padwidth}{% integer \eappto\blx@tempd{ pad\string_width="#1"}} -\define@key{blx@sortdef@field}{padchar}{% character +\blx@kv@defkey{blx@sortdef@field}{padchar}{% character \blx@xmlsanitizeafter{\def\blx@tempe}{#1}% \eappto\blx@tempd{ pad\string_char="\blx@tempe"}} -\define@key{blx@sortdef@field}{strside}{% left|right +\blx@kv@defkey{blx@sortdef@field}{strside}{% left|right \ifstrequal{#1}{right} {\eappto\blx@tempd{ substring\string_side="right"}} {\eappto\blx@tempd{ substring\string_side="left"}}} -\define@key{blx@sortdef@field}{strwidth}{% integer +\blx@kv@defkey{blx@sortdef@field}{strwidth}{% integer \eappto\blx@tempd{ substring\string_width="#1"}} \def\blx@sortdef@literal#1{% @@ -13905,7 +14040,7 @@ \let\blx@tempc\@empty \ifblank{#1} {} - {\setkeys{blx@ordered@field}{#1}}% + {\blx@kv@setkeys{blx@ordered@field}{#1}}% \advance\blx@tempcnta\@ne \ifdefempty{\blx@tempa} {\csxappto{blx@bcf@\blx@tempb}{% @@ -13920,7 +14055,7 @@ \let\blx@tempc\@empty \ifblank{#1} {} - {\setkeys{blx@ordered@field}{#1}}% + {\blx@kv@setkeys{blx@ordered@field}{#1}}% \advance\blx@tempcnta\@ne \ifdefempty{\blx@tempa} {\csxappto{blx@bcf@\blx@tempb}{% @@ -13948,7 +14083,7 @@ \newrobustcmd*{\ExecuteBibliographyOptions}[2][]{% \ifblank{#1} - {\setkeys{blx@opt@pre}{#2}} + {\blx@kv@setkeys{blx@opt@pre}{#2}} {\forcsvlist{\blx@typeoptions{#2}}{#1}}} \@onlypreamble\ExecuteBibliographyOptions @@ -13969,9 +14104,9 @@ % Have to have a dummy for this as it's set much earlier but is passed % through to here where we just ignore it -\define@key{blx@opt@ldt}{datamodel}{} +\blx@kv@defkey{blx@opt@ldt}{datamodel}{} -\define@key{blx@opt@ldt}{backend}{% +\blx@kv@defkey{blx@opt@ldt}{backend}{% \ifstrequal{#1}{biber} {} {\ifboolexpr{ @@ -13985,30 +14120,30 @@ {}}% {\blx@err@invopt{backend=#1}{}}}} -\define@key{blx@opt@ldt}{style}{% +\blx@kv@defkey{blx@opt@ldt}{style}{% \def\blx@cbxfile{#1}% \def\blx@bbxfile{#1}} -\define@key{blx@opt@ldt}{bibstyle}{% +\blx@kv@defkey{blx@opt@ldt}{bibstyle}{% \def\blx@bbxfile{#1}} -\define@key{blx@opt@ldt}{citestyle}{% +\blx@kv@defkey{blx@opt@ldt}{citestyle}{% \def\blx@cbxfile{#1}} -\define@key{blx@opt@ldt}{natbib}[true]{% +\blx@kv@defkey{blx@opt@ldt}{natbib}[true]{% \settoggle{blx@natbib}{#1}} -\define@key{blx@opt@ldt}{mcite}[true]{% +\blx@kv@defkey{blx@opt@ldt}{mcite}[true]{% \settoggle{blx@mcite}{#1}} -\define@key{blx@opt@ldt}{noerroretextools}[true]{% +\blx@kv@defkey{blx@opt@ldt}{noerroretextools}[true]{% \blx@warning@noline{% The option 'noerroretextools' is deprecated.\MessageBreak Define the control sequence '\string\blx@noerroretextools'\MessageBreak before loading biblatex instead}% \ifstrequal{#1}{true} {\global\cslet{blx@noerroretextools}\@empty} - {\csgundef{blx@noerroretextools}}} + {\global\csundef{blx@noerroretextools}}} % load-time and preamble @@ -14061,7 +14196,7 @@ % unlikely to be corrected as "sorting" is an obvious name for biblatex users % "sorting" is used in the .bcf for the actual sorting template definitions and is % an XML format option -\define@key{blx@opt@pre}{sorting}{% +\blx@kv@defkey{blx@opt@pre}{sorting}{% \def\blx@sorting{#1}% \def\blx@refcontext@sortingtemplatename{#1}} \blx@DeclareBackendOption{global}[string]{sortingtemplatename} @@ -14295,6 +14430,14 @@ \def\blx@hook@initlang{\@quotereset\@ne}% \def\blx@hook@endlang{\blx@postpunct}} +\DeclareBibliographyOption[string]{langhook}{% + \ifstrequal{#1}{captions} + {\@firstoftwo} + {\ifstrequal{#1}{extras}} + {\def\blx@langhook{#1}} + {\blx@err@invopt{langhook=#1}{}}} + + \DeclareBiblatexOption{global,type,entry}[string]{indexing}[true]{% \blx@opt@index{#1}} \def\blx@opt@index#1{% @@ -14382,6 +14525,10 @@ \def\blx@opt@backrefsetstyle@memandset{4} \def\blx@opt@backrefsetstyle@setplusmem{5} +\newtoggle{blx@backreffloats} +\DeclareBibliographyOption[boolean]{backreffloats}[true]{% + \settoggle{blx@backreffloats}{#1}} + \appto\blx@mkhyperref{% \ifHy@plainpages \blx@warning@noline{% @@ -14396,10 +14543,22 @@ references. 'pageanchor=true' is required}% \fi} -\DeclareBibliographyOption[string]{block}{% +\def\blx@optprocess@block#1{% \ifcsdef{blx@opt@block@#1} {\csuse{blx@opt@block@#1}} {\blx@err@invopt{block=#1}{}}} + +\DeclareBibliographyOption[string]{block}{% + \blx@optprocess@block{#1}} + +\blx@kv@defkey{blx@bib1}{block}{} +\blx@kv@defkey{blx@bib2}{block}{\blx@optprocess@block{#1}} +\blx@kv@defkey{blx@biblist1}{block}{} +\blx@kv@defkey{blx@biblist2}{block}{\blx@optprocess@block{#1}} + +\blx@kv@defkey{blx@bbs}{block}{\blx@optprocess@block{#1}} +\blx@kv@defkey{blx@bbg}{block}{\blx@optprocess@block{#1}} + \def\blx@opt@block@none{% \let\blx@bibsetup\@empty \let\newblockpunct\@empty} @@ -14623,6 +14782,11 @@ \let\blx@loccitreset\blx@loccitreset@context \booltrue{citetracker}} +\newtoggle{blx@trackfloats} +\DeclareBibliographyOption[boolean]{trackfloats}[true]{% + \settoggle{blx@trackfloats}{#1}} + + \DeclareBibliographyOption[boolean]{parentracker}[true]{% \ifstrequal{#1}{true} {\let\bibopenparen\blx@bibopenparen @@ -14783,7 +14947,7 @@ {\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}% + \blx@kv@setkeys{blx@opt@pre}{#1date=comp}% % Time format options \DeclareBibliographyOption[string]{#1time}{% \csdef{blx@timeformat@#1time}{##1}% @@ -14791,7 +14955,7 @@ {\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}% + \blx@kv@setkeys{blx@opt@pre}{#1time=24h}% % Boolean to determine if times are printed with dates \newtoggle{blx@#1dateusetime}% \DeclareBibliographyOption[boolean]{#1dateusetime}{% @@ -14889,7 +15053,7 @@ \settoggle{blx@labelnumber}{#1}% \iftoggle{blx@labelnumber} {} - {\setkeys{blx@opt@pre}{defernumbers=false}}} + {\blx@kv@setkeys{blx@opt@pre}{defernumbers=false}}} \DeclareBiblatexOption{type,entry}[boolean]{labelnumber}[true]{% \settoggle{blx@labelnumber}{#1}} @@ -14966,14 +15130,14 @@ \DeclareBibliographyOption[boolean]{defernumbers}[true]{% \settoggle{blx@defernumbers}{#1}% \iftoggle{blx@defernumbers} - {\setkeys{blx@opt@pre}{labelnumber}% + {\blx@kv@setkeys{blx@opt@pre}{labelnumber}% \let\blx@thelabelnumber\blx@addlabelnumber \let\abx@aux@number\blx@aux@number} {\let\blx@thelabelnumber\relax \let\abx@aux@number\@gobblefive}} \DeclareBibliographyOption[boolean]{locallabelwidth}[true]{% - \blx@key@locallabelwidth{\abx@locallabelwidth}{#1}} + \blx@key@locallabelwidth{#1}} \DeclareBibliographyOption[string]{refsection}{% @@ -15078,11 +15242,11 @@ \def\blx@tempa#1=#2&{#1}% \edef\blx@tempa{% \expandafter\blx@tempa\CurrentOption=&}% - \ifcsundef{KV@blx@opt@ldt@\blx@tempa} + \blx@kv@ifkeyundef{blx@opt@ldt}{\blx@tempa} {\endgroup \eappto\blx@theoptions{\CurrentOption,}} {\edef\blx@tempa{\endgroup - \noexpand\setkeys{blx@opt@ldt}{\CurrentOption}}% + \noexpand\blx@kv@setkeys{blx@opt@ldt}{\CurrentOption}}% \blx@tempa}} \def\blx@processoptions{% @@ -15090,21 +15254,64 @@ {} {\begingroup \edef\blx@tempa{\endgroup - \noexpand\setkeys{blx@opt@pre}{\blx@theoptions}}% + \noexpand\blx@kv@setkeys{blx@opt@pre}{\blx@theoptions}}% \blx@tempa}} %% Initial setup +\define@key{blx@opt@ldt}{casechanger}[auto]{% + \ifcsundef{blx@opt@casechanger@#1} + {\blx@err@invopt + {casechanger=#1} + {Valid options for 'casechanger' are 'auto', 'expl3' and + 'latex2e'}} + {\csletcs{blx@deferoption@casechanger}{blx@opt@casechanger@#1}}} + + +\csdef{blx@opt@casechanger@auto}{% + \RequirePackage{expl3}[2020/04/06]% + \@ifpackagelater{expl3}{2020/04/06} + {\blx@info{expl3\MessageBreak\csuse{ver@expl3.sty}\MessageBreak + is new enough (at least 2020/04/06),\MessageBreak + setting 'casechanger=expl3'}% + \csuse{blx@opt@casechanger@expl3}} + {\blx@info{expl3\MessageBreak\csuse{ver@expl3.sty}\MessageBreak + is too old (older than 2020/04/06),\MessageBreak + setting 'casechanger=latex2e'}% + \csuse{blx@opt@casechanger@latex2e}}} + +\csdef{blx@opt@casechanger@latex2e}{% + \blx@inputonce{blx-case-latex2e.def} + {LaTeX2e (legacy) case changing code} + {}{}{}{}} +\csletcs{blx@opt@casechanger@2e}{blx@opt@casechanger@latex2e} + +% Apparently neither \input nor \blx@inputonce ever pops the +% \ExplSyntaxOff from \ProvidesExplFile, so we do that ourselves. +\csdef{blx@opt@casechanger@expl3}{% + \blx@inputonce{blx-case-expl3.def} + {expl3 case changing code} + {}{\ExplSyntaxOff}{}{}} +\csletcs{blx@opt@casechanger@3}{blx@opt@casechanger@expl3} + +% default to auto +\csletcs{blx@deferoption@casechanger}{blx@opt@casechanger@auto} + % Set defaults -\setkeys{blx@opt@ldt}{style=numeric} -\setkeys{blx@opt@pre}{% +\blx@kv@setkeys{blx@opt@ldt}{style=numeric} +\blx@kv@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,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, + maxitems=3,minitems=1,mincrossrefs=2,minxrefs=2, + useauthor=true,useeditor=true,usetranslator=false, + indexing=false,abbreviate=true,dateabbrev=true,dateera=astronomical, + backref=false,backrefsetstyle=setonly,backreffloats=true, + pagetracker=false, + ibidtracker=false,idemtracker=false,opcittracker=false,loccittracker=false, + citetracker=false,trackfloats=false, + citecounter=false, + block=none, + language=autobib,clearlang=true,autolang=none,langhook=captions, 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, @@ -15122,6 +15329,7 @@ % Load compatibility code \blx@inputonce{blx-compat.def}{compatibility code}{}{}{}{} + % Restore catcodes \blx@catcodes \undef\blx@catcodes @@ -15129,6 +15337,44 @@ % Process load-time options \ProcessOptions* +% this ultimately loads either +% blx-case-expl3.def or blx-case-latex2e.def +\blx@deferoption@casechanger + +% This is a bit unfortunate, but we need some more definitions here. + +% Language fallback, in order: +% * explicit option language=<lang>, which overrides everything +% * langid field of entry +% * babel/polyglossia lang +% * main document lang (we should never reach this) +% * <empty> (we should *definitely* never reach this) +% Everything here is expandable so that +% \blx@mksc@lang expands to the language name. +\def\blx@mksc@lang{% + \ifundef\blx@forcelanguagename + {\ifundef\abx@field@langid + {\ifundef\blx@languagename + {\ifundef\blx@main@language + {} + {\blx@main@language}} + {\blx@languagename}} + {\abx@field@langid}} + {\blx@forcelanguagename}} + +\DeclareCaseLangs{% + american,british,canadian, + english,USenglish,UKenglish, + australian,newzealand} + + +% Textcase defines \NoCaseChange as \let\NoCaseChange\@firstofone +\ifundef\NoCaseChange + {\let\NoCaseChange\@firstofone} + {} + +% That's it for the case change code + % Switch to BibTeX support if requested \iftoggle{blx@bibtex} {\blx@inputonce{blx-bibtex.def}{BibTeX backend compatibility}{}{}{}{}} @@ -15166,19 +15412,19 @@ {\blx@warn@conflopt{% '<namepart>inits' conflicts with 'uniquename=full'.\MessageBreak Setting 'uniquename=init'}% - \setkeys{blx@opt@pre}{uniquename=init}} + \blx@kv@setkeys{blx@opt@pre}{uniquename=init}} {}% \ifdefstrequal\blx@uniquename\blx@opt@uniquename@allfull {\blx@warn@conflopt{% '<namepart>inits' conflicts with 'uniquename=allfull'.\MessageBreak Setting 'uniquename=allinit}% - \setkeys{blx@opt@pre}{uniquename=allinit}} + \blx@kv@setkeys{blx@opt@pre}{uniquename=allinit}} {}% \ifdefstrequal\blx@uniquename\blx@opt@uniquename@minfull {\blx@warn@conflopt{% '<namepart>inits' conflicts with 'uniquename=minfull'.\MessageBreak Setting 'uniquename=mininit}% - \setkeys{blx@opt@pre}{uniquename=mininit}} + \blx@kv@setkeys{blx@opt@pre}{uniquename=mininit}} {}} {}% \nottoggle{blx@labeldateparts} @@ -15186,7 +15432,7 @@ {\blx@warn@conflopt{% 'uniquelist=minyear' requires 'labeldateparts'.\MessageBreak Setting 'uniquelist=true'}% - \setkeys{blx@opt@pre}{uniquelist}} + \blx@kv@setkeys{blx@opt@pre}{uniquelist}} {}} {}% \def\do#1{% @@ -15195,37 +15441,37 @@ \ifdefstring\blx@dateera{astronomical}{} {\blx@warn@conflopt{% '#1=iso' requires 'dateera=astronomical'.\MessageBreak - Setting 'dateera=astrononmical'}% - \setkeys{blx@opt@pre}{dateera=astronomical}}% + Setting 'dateera=astronomical'}% + \blx@kv@setkeys{blx@opt@pre}{dateera=astronomical}}% \ifcsstring{blx@timeformat@\blx@datetype time}{24h}% {} {\blx@warn@conflopt{% '#1=iso' requires '\blx@datetype time=24h'.\MessageBreak Setting '\blx@datetype time=24h'}% - \setkeys{blx@opt@pre}{\blx@datetype time=24h}}% + \blx@kv@setkeys{blx@opt@pre}{\blx@datetype time=24h}}% \iftoggle{blx@julian} {\blx@warn@conflopt{% '#1=iso' requires 'julian=false'.\MessageBreak Setting 'julian=false'}% - \setkeys{blx@opt@pre}{julian=false}} + \blx@kv@setkeys{blx@opt@pre}{julian=false}} {}% \nottoggle{blx@datezeros} {\blx@warn@conflopt{% '#1=iso' requires 'datezeros=true'.\MessageBreak Setting 'datezeros=true'}% - \setkeys{blx@opt@pre}{datezeros=true}} + \blx@kv@setkeys{blx@opt@pre}{datezeros=true}} {}% \nottoggle{blx@timezeros} {\blx@warn@conflopt{% '#1=iso' requires 'timezeros=true'.\MessageBreak Setting 'timezeros=true'}% - \setkeys{blx@opt@pre}{timezeros=true}} + \blx@kv@setkeys{blx@opt@pre}{timezeros=true}} {}% \nottoggle{blx@seconds} {\blx@warn@conflopt{% '#1=iso' requires 'seconds=true'.\MessageBreak Setting 'seconds=true'}% - \setkeys{blx@opt@pre}{seconds=true}} + \blx@kv@setkeys{blx@opt@pre}{seconds=true}} {}} {}}% \abx@dodates @@ -15322,5 +15568,7 @@ \def\BiblatexHungarianWarningOff{\global\let\lbx@hu@loadinfo\@empty} \def\BiblatexLatvianWarningOff{\global\let\lbx@lv@loadinfo\@empty} +\def\BiblatexSplitbibDefernumbersWarningOff{% + \global\let\blx@printbibchecks@suppresswarn\@empty} \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-bibtex.def b/Master/texmf-dist/tex/latex/biblatex/blx-bibtex.def index c333e5f17d3..03d67811310 100644 --- a/Master/texmf-dist/tex/latex/biblatex/blx-bibtex.def +++ b/Master/texmf-dist/tex/latex/biblatex/blx-bibtex.def @@ -207,52 +207,6 @@ \let\iflabeldateuncertain\@secondoftwo \let\iflabelenddateuncertain\@secondoftwo} -% {<string>} -% 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% - #1\bibrangedash\bibrangedash&% - }} - -\def\blx@rangelen@range#1\bibrangedash#2\bibrangedash#3&{% - \ifblank{#3} - {\blx@rangelen@hyphen#1--&} - {\blx@rangelen@check{#1}{#2}}% -} -\def\blx@rangelen@hyphen#1-#2-#3&{% - \ifblank{#3} - {1}% No range at all: assume one page - {\blx@rangelen@check{#1}{#2}}% -} -\def\blx@rangelen@check#1#2{% - \expandafter\blx@rangelen@check@aux - \number\numexpr - \blx@rangelen@check@int{#2} - - - \blx@rangelen@check@int{#1} - + 1 - \relax - &\stop -} -\def\blx@rangelen@check@aux#1\stop{% - \ifblank{#2} - {#1} - {-1}% -} -\def\blx@rangelen@check@int#1{% - \ifblank{#1} - {0&} - {% - \if\number\numexpr0#1-0#1\relax0 - #1 - \else - 0& - \fi - }% -} % Alter message text \patchcmd{\blx@bbl@warn}{Biber}{BibTeX}{}{} @@ -330,6 +284,26 @@ {}% \global\csundef{blx@refp@\the\c@refsection @#1}} +\def\blx@citation@xref#1{% + \begingroup + \edef\blx@tempa{blx@refp@\the\c@refsection @% + \csname blx@refc@\the\c@refsection @#1\endcsname}% + \ifcsdef\blx@tempa + {\ifinlistcs{#1}\blx@tempa + {} + {\listcsxadd\blx@tempa{#1}}% + \blx@tempcnta\z@ + \def\do##1{\advance\blx@tempcnta\@ne}% + \dolistcsloop\blx@tempa} + {\listcsxadd\blx@tempa{#1}% + \blx@tempcnta\@ne}% + \expandafter\endgroup\ifnum\blx@tempcnta<\blx@minxrefs\relax + \else + \expandafter\expandafter\expandafter\blx@citation@entry + \expandafter\expandafter\expandafter{% + \csname blx@refc@\the\c@refsection @#1\endcsname}\blx@msg@cundef + \fi} + \def\blx@bblend{% \ifcsdef{blx@refs@\the\c@refsection}% {\begingroup @@ -343,20 +317,122 @@ \global\togglefalse{blx@addset}} {}} -\def\blx@citation#1#2{% - \ifbool{citerequest} - {\ifcsdef{blx@setp@\the\c@refsection @#1} - {\blx@citation@set{#1}{#2}} - {\ifcsdef{blx@setc@\the\c@refsection @#1} - {\blx@citation@inset{#1}{#2}} - {\blx@citation@entry{#1}{#2}}}% - \ifcsdef{blx@refc@\the\c@refsection @#1}% - {\blx@citation@xref{#1}} - {}} - {}} +% set support + +% We'll generate 'fake sets' for sorting. +% A fake set will be the copy of a normal set but with a crossref +% to the first set member, that way it inherits sorting info. + +\def\blx@grabfirstcsvitem#1,#2\blx@grabfirstcsvitem@end{#1} + +\def\blx@btx@fakesetentry#1#2#3#4{% + \blx@nl + @set{#1,\blx@nl + \space\space fakeset = {#2},\blx@nl + \space\space entryset = {#3},\blx@nl + \space\space crossref = {#4},\blx@nl + }% +} + +\def\blx@fakeset@prefix{blx@fakeset-} + +\protected\def\blx@writefakeset@oo#1#2{% + \begingroup + \edef\blx@tempa{\endgroup + \noexpand\blx@writefakeset + {\expandonce{#1}} + {\expandonce{#2}}}% + \blx@tempa +} + +\protected\def\blx@writefakeset#1#2{% + \blx@auxwrite\blx@bcfout{}{% + \blx@btx@fakesetentry + {\blx@fakeset@prefix#1} + {#1} + {#2} + {\blx@grabfirstcsvitem#2,\blx@grabfirstcsvitem@end}}} + +\protected\def\blx@bbl@fakeset#1{% + \csxdef{blx@isfakeset@\the\c@refsection @\abx@field@entrykey}{% + \detokenize{#1}}% + \global\cslet{blx@getfakeset@\the\c@refsection @#1}\abx@field@entrykey +} + +% we can't rely on \inset in the .bbl (which should be in the child +% entry), so we produce setc manually from the @set parent +% but the bibliography may not be in a nice order to grab setc +% properly, so we need to save setc data in the .aux file +\appto\blx@secinit{% + \cslet{blx@setclist@\the\c@refsection}\@empty + \cslet{blx@fakesetplist@\the\c@refsection}\@empty} + +\apptocmd{\blx@bbl@set@i} + {\ifcsundef{blx@isfakeset@\the\c@refsection @\abx@field@entrykey} + {\csxdef{blx@setc@\the\c@refsection @#1}{\abx@field@entrykey}% + \listcsxadd{blx@setclist@\the\c@refsection}{\detokenize{#1}}} + {}} + {} + {\blx@error + {Failed to patch '\string\blx@bbl@set@i'} + {Patching '\string\blx@bbl@set@i' failed for some reason. + \MessageBreak + Please report this bug}} + +% {<section>}{<set child>}{<set parent>} +\protected\def\blx@aux@set@setc#1#2#3{% + \csxdef{blx@setc@#1@#2}{#3}} + +\protected\def\blx@aux@write@setc#1#2#3{% + \blx@auxwrite\blx@aux{}{\string\blx@aux@set@setc{#1}{#2}{#3}}} + +\def\blx@write@setc#1{% + \ifcsundef{blx@setc@\the\c@refsection @#1} + {} + {\blx@aux@write@setc{\the\c@refsection}{#1} + {\csuse{blx@setc@\the\c@refsection @#1}}}} + +\appto\blx@bblend{% + \forlistcsloop{\blx@write@setc}{blx@setclist@\the\c@refsection}} + +% blx@setonly doesn't exist here, since it is defined in \inset, +% rely on the existence of setc instead. +% We also make sure to skip the actual @set entries and display +% the fake ones. +\patchcmd{\blx@bbl@endentry} + {\nottoggle{blx@setonly}} + {\ifentrytype{set} + {\ifcsundef{blx@isfakeset@\the\c@refsection @\abx@field@entrykey} + {\blx@writefakeset@oo{\abx@field@entrykey}{\abx@field@entryset}% + \settoggle{blx@skipbib}{true}% + \settoggle{blx@skipbiblist}{true}% + \settoggle{blx@skiplab}{true}} + {\listcsxadd{blx@fakesetplist@\the\c@refsection}{% + \abx@field@entrykey}}} + {}% + \ifcsundef{blx@setc@\the\c@refsection @\abx@field@entrykey}} + {} + {\blx@error + {Failed to patch '\string\blx@bbl@endentry'} + {Patching '\string\blx@bbl@endentry' failed for some reason. + \MessageBreak + Please report this bug}} + +% cite the fake set for our current set +% the \expandafter party essentially does +% \blx@citation@entry{\blx@fakeset@prefix#1}{\blx@msg@cundef} +% (just correctly \detokenize'd and all) \def\blx@citation@set#1#2{% \blx@citation@entry{#1}{#2}% + \ifcsundef{blx@isfakeset@\the\c@refsection @#1} + {\begingroup + \expandafter\def\expandafter\blx@tempa\expandafter{% + \expandafter\detokenize\expandafter{\blx@fakeset@prefix#1}}% + \expandafter\expandafter\expandafter\blx@citation@entry + \expandafter\expandafter\expandafter{\blx@tempa}{\blx@msg@cundef}% + \endgroup} + {}% \begingroup \def\do##1{\blx@citation@entry{##1}\blx@msg@cundef}% \expandafter\expandafter\expandafter\docsvlist @@ -375,25 +451,141 @@ {\blx@citation@set{#1}} {\blx@citation@entry{#1}}} -\def\blx@citation@xref#1{% +\def\blx@appentrydatato#1#2{% + \ifdef#2 + {\appto#1{% + \def\noexpand#2{\expandonce#2}}} + {}} + +% if we have a fakeset, load the real @set to get the right entrykey +% if we have a real @set, load the fakeset for all entry data +% but make sure that the entrykey fits +% in any case copy over some label data from its first child +\def\blx@getdata#1{% + \csuse{blx@data@\the\c@refsection @\blx@refcontext@context @#1}% + \ifcsundef{blx@isfakeset@\the\c@refsection @#1} + {} + {\csuse{blx@data@\the\c@refsection @\blx@refcontext@context + @\csuse{blx@isfakeset@\the\c@refsection @#1}}}% + \ifcsundef{blx@getfakeset@\the\c@refsection @#1} + {} + {\let\blx@real@abx@field@entrykey\abx@field@entrykey + \csuse{blx@data@\the\c@refsection @\blx@refcontext@context + @\csuse{blx@getfakeset@\the\c@refsection @#1}}% + \let\abx@field@entrykey\blx@real@abx@field@entrykey}% + \ifcsundef{blx@setp@\the\c@refsection @\abx@field@entrykey} + {} + {\begingroup + \expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter\blx@tempa + \expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter{% + \expandafter\expandafter\expandafter\blx@grabfirstcsvitem + \csname blx@setp@\the\c@refsection + @\abx@field@entrykey\endcsname,\blx@grabfirstcsvitem@end}% + \let\blx@tempb\@empty + \blx@ifdata{\blx@tempa} + {\blx@getdata{\blx@tempa}% + \blx@appentrydatato\blx@tempb\abx@field@labelyear + \blx@appentrydatato\blx@tempb\abx@field@labelendyear + \blx@appentrydatato\blx@tempb\abx@field@labelmonth + \blx@appentrydatato\blx@tempb\abx@field@labelendmonth + \blx@appentrydatato\blx@tempb\abx@field@labelday + \blx@appentrydatato\blx@tempb\abx@field@labelendday + \blx@appentrydatato\blx@tempb\abx@field@labelprefix + \blx@appentrydatato\blx@tempb\abx@field@labelalpha + \blx@appentrydatato\blx@tempb\abx@field@extraalpha + \blx@appentrydatato\blx@tempb\abx@field@extradate} + {}% + \edef\blx@tempb{\endgroup\blx@tempb}% + \blx@tempb}% + \blx@adjustyears + \blx@getlabeldata + \blx@aliasfields + \blx@setcitecounter} + + +\def\blx@bblend@redosetlabelwidth@i#1{% \begingroup - \edef\blx@tempa{blx@refp@\the\c@refsection @% - \csname blx@refc@\the\c@refsection @#1\endcsname}% - \ifcsdef\blx@tempa - {\ifinlistcs{#1}\blx@tempa - {} - {\listcsxadd\blx@tempa{#1}}% - \blx@tempcnta\z@ - \def\do##1{\advance\blx@tempcnta\@ne}% - \dolistcsloop\blx@tempa} - {\listcsxadd\blx@tempa{#1}% - \blx@tempcnta\@ne}% - \expandafter\endgroup\ifnum\blx@tempcnta<\blx@minxrefs\relax - \else - \expandafter\expandafter\expandafter\blx@citation@entry - \expandafter\expandafter\expandafter{% - \csname blx@refc@\the\c@refsection @#1\endcsname}\blx@msg@cundef - \fi} + \blx@ifdata{#1} + {\blx@getdata{#1}% + \nottoggle{blx@skiplab} + {\iftoggle{blx@labelnumber} + {\ifdefempty\abx@field@localnumber + {} + {\ifundef\abx@field@shorthand + {\blx@bbl@labelnumberwidth@numeric{}} + {\blx@bbl@labelnumberwidth@shorthand{}}}} + {}% + \iftoggle{blx@labelalpha} + {\blx@bbl@labelalpha} + {}% + \iftoggle{blx@labeltitle} + {\blx@bbl@labeltitle} + {}% + \iftoggle{blx@labeltitleyear} + {\blx@bbl@labeltitleyear} + {}% + \iftoggle{blx@labeldateparts} + {\blx@bbl@labeldate} + {}% + \blx@bbl@labelname} + {}} + {}% + \endgroup +} + +\def\blx@bblend@redosetlabelwidth{% + \forlistcsloop{\blx@bblend@redosetlabelwidth@i} + {blx@fakesetplist@\the\c@refsection}} + +\appto\blx@bblend{\blx@bblend@redosetlabelwidth} + +% categories need the correct entry key for fake sets +\def\blx@addtocategory#1#2{% + % If we are adding a set member to a category, make sure we also add the + % set parent if it is cited. If it is cited, we should be using the set + % parent in the category, not the set child member. blx@setc@... will + % only exist if the set parent is also cited as it is only defined when a + % member contains \inset which only happens when the set parent is cited. + \ifcsdef{blx@setc@\the\c@refsection @#2} + {\blx@auxwrite\@mainaux{}{\string\abx@aux@category{#1}{\csuse{blx@setc@\the\c@refsection @#2}}}% + \abx@aux@category{#1}{\csuse{blx@setc@\the\c@refsection @#2}}} + {}% + \ifcsundef{blx@getfakeset@\the\c@refsection @#2} + {} + {\blx@auxwrite\@mainaux{}{\string\abx@aux@category{#1}{\csuse{blx@getfakeset@\the\c@refsection @#2}}}% + \abx@aux@category{#1}{\csuse{blx@getfakeset@\the\c@refsection @#2}}}% + \blx@auxwrite\@mainaux{}{\string\abx@aux@category{#1}{#2}}% + \abx@aux@category{#1}{#2}} + +% dynamic entry sets + +\def\blx@btx@citeset#1#2{% + \blx@nl + @set{#1,\blx@nl + \space\space entryset = {#2},\blx@nl + }% +} + +\protected\def\blx@setreq#1#2{% + \blx@auxwrite\blx@bcfout{}{\blx@btx@citeset{#1}{#2}}% + \blx@nocite@do{#1}} + +% xref and @set +\def\blx@citation@i#1#2{% + \ifbool{citerequest} + {\ifcsdef{blx@setp@\the\c@refsection @#1} + {\blx@citation@set{#1}{#2}} + {\ifcsdef{blx@setc@\the\c@refsection @#1} + {\blx@citation@inset{#1}{#2}} + {\blx@citation@entry{#1}{#2}}}% + \ifcsdef{blx@refc@\the\c@refsection @#1}% + {\blx@citation@xref{#1}} + {}} + {}} % refcontexts are out, but we can try to save labelprefix @@ -406,7 +598,7 @@ % in \blx@refcontext@labelprefix@real and pass it to the aux file. % There are differences to the result obtained with Biber, % but it should be good enough for very simple applications. -\define@key{blx@refcontext}{labelprefix}{% +\blx@kv@defkey{blx@refcontext}{labelprefix}{% \xdef\blx@refcontext@labelprefix@real{#1}% \iftoggle{blx@defernumbers} {}% @@ -432,7 +624,7 @@ The option will be ignored}} \def\blx@bibtexrefcontext@disable#1{% - \define@key{blx@refcontext}{#1}{% + \blx@kv@defkey{blx@refcontext}{#1}{% \blx@warn@bibtexrefcontext{#1}}} \forcsvlist{\blx@bibtexrefcontext@disable}{% @@ -539,12 +731,63 @@ } \def\blx@ctrlwrite{% - % \sortalphaothers should only contain safe characters, - % so we should be able to \edef it + \begingroup + \blx@safe@actives + \let\protect\string \edef\blx@sortalphaothers{\sortalphaothers}% \immediate\openout\blx@write\blx@ctrlfile\blxauxsuffix.bib\relax \blx@auxwrite\blx@write{}{\blx@ctrl}% - \immediate\closeout\blx@write} + \endgroup + \AfterEndDocument{\immediate\closeout\blx@write}} + + +% {<string>} +% 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% + #1\bibrangedash\bibrangedash&% + }} + +\def\blx@rangelen@range#1\bibrangedash#2\bibrangedash#3&{% + \ifblank{#3} + {\blx@rangelen@hyphen#1--&} + {\blx@rangelen@check{#1}{#2}}% +} +\def\blx@rangelen@hyphen#1-#2-#3&{% + \ifblank{#3} + {1}% No range at all: assume one page + {\blx@rangelen@check{#1}{#2}}% +} +\def\blx@rangelen@check#1#2{% + \expandafter\blx@rangelen@check@aux + \number\numexpr + \blx@rangelen@check@int{#2} + - + \blx@rangelen@check@int{#1} + + 1 + \relax + &\stop +} +\def\blx@rangelen@check@aux#1\stop{% + \ifblank{#2} + {#1} + {-1}% +} +\def\blx@rangelen@check@int#1{% + \ifblank{#1} + {0&} + {% + \if\number\numexpr0#1-0#1\relax0 + #1 + \else + 0& + \fi + }% +} + % Disable some interfaces diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-case-expl3.def b/Master/texmf-dist/tex/latex/biblatex/blx-case-expl3.def new file mode 100644 index 00000000000..e9b7f232899 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex/blx-case-expl3.def @@ -0,0 +1,271 @@ +\RequirePackage{expl3}[2020/04/06] +\RequirePackage{xparse} +\ProvidesExplFile {blx-case-expl3} {\abx@date} {\abx@version} + {expl3 case changing code for biblatex} + +% Map for babel/polyglossia names +% to BCP-47-like l3text names. +% We only need maps for l3text names that do something +% as of 2020/04/06 those names are +% az, de-alt, el, lt, nl, tr. +% biblatex currently only supports dutch, greek and turkish +% so we only map those. +% de-alt is optional and still unusual, so *we* don't map it, +% but a user could map it themselves. + +\prop_new:N \l__biblatex_babel_to_pseudobcp_prop + +\cs_generate_variant:Nn \msg_info:nnnnn { nnnxn } + +\cs_new_protected:Npn \biblatex_maplang_babel_to_pseudobcp:nn #1 #2 + { + \prop_if_in:NnT \l__biblatex_babel_to_pseudobcp_prop {#1} + { + \msg_info:nnnxn { biblatex } + { overwrite-babel-to-pseudobcp-map } + {#1} + {\prop_item:Nn \l__biblatex_babel_to_pseudobcp_prop {#1}} + {#2} + } + \prop_put:Nnn \l__biblatex_babel_to_pseudobcp_prop {#1} {#2} + } + +\NewDocumentCommand \DeclareBabelToExplLanguageMapping {mm} + { + \biblatex_maplang_babel_to_pseudobcp:nn {#1} {#2} + } + +\cs_generate_variant:Nn \msg_info:nnnn { nnnx } + +\cs_new_protected:Npn \biblatex_unmaplang_babel_to_pseudobcp:n #1 + { + \prop_if_in:NnT \l__biblatex_babel_to_pseudobcp_prop {#1} + { + \msg_info:nnnx { biblatex } + { remove-babel-to-pseudobcp-map } + {#1} + { \prop_item:Nn \l__biblatex_babel_to_pseudobcp_prop {#1} } + } + \prop_remove:Nn \l__biblatex_babel_to_pseudobcp_prop {#1} + } + +\NewDocumentCommand \UndeclareBabelToExplLanguageMapping {m} + { + \str_if_eq:nnTF {#1} {*} + { \prop_clear:N \l__biblatex_babel_to_pseudobcp_prop } + { \biblatex_unmaplang_babel_to_pseudobcp:n {#1} } + } + +% Don't put this into biblatex.sty, since +% \DeclareBabelToExplLanguageMapping has no equivalent in the LaTeX2e +% code. +\DeclareBabelToExplLanguageMapping{dutch}{nl} +\DeclareBabelToExplLanguageMapping{greek}{el} +\DeclareBabelToExplLanguageMapping{turkish}{tr} + +% Our copy of \l_text_titlecase_check_letter_bool +\bool_new:N \l_biblatex_titlecase_check_letter_bool +% Just to be clear: unlike l3text our default is "false" +\bool_set_false:N \l_biblatex_titlecase_check_letter_bool + +% Helper macro to avoid unnecessary repetition of the same structure +% {<case [lowercase|uppercase|titlecase|titlecase_first]>} +% {<babel language>}{<text>} +% We use that \prop_item:Nn is empty if the item is not present +% and that \text_...:nn becomes \text_...:n if the first argument +% is empty. +\cs_new_protected:Npn \__biblatex_text_makeconverter:nnn #1 #2 #3 + { + \group_begin: + \bool_if_exist:NTF \l_text_titlecase_check_letter_bool + { + \bool_set_eq:NN \l_text_titlecase_check_letter_bool + \l_biblatex_titlecase_check_letter_bool + } + { + % should we raise an error or at least issue a warning here? + } + \use:c { text_#1:nn } + { \prop_item:Nn \l__biblatex_babel_to_pseudobcp_prop {#2} } {#3} + \group_end: + } + + +\cs_new:Npn \biblatex_text_lowercase:nn #1 #2 + { + \__biblatex_text_makeconverter:nnn {lowercase} {#1} {#2} + } + +\cs_generate_variant:Nn \biblatex_text_lowercase:nn { Vn } + +\cs_new:Npn \biblatex_text_lowercase:n #1 + { + \biblatex_text_lowercase:Vn \blx@languagename {#1} + } + +\cs_set_eq:NN \blx@maketext@lowercase \biblatex_text_lowercase:n + + +\cs_new:Npn \biblatex_text_uppercase:nn #1 #2 + { + \__biblatex_text_makeconverter:nnn {uppercase} {#1} {#2} + } + +\cs_generate_variant:Nn \biblatex_text_uppercase:nn { Vn } + +\cs_new:Npn \biblatex_text_uppercase:n #1 + { + \biblatex_text_uppercase:Vn \blx@languagename {#1} + } + +\cs_set_eq:NN \blx@maketext@uppercase \biblatex_text_uppercase:n + + +\cs_new:Npn \biblatex_text_makecapital:nn #1 #2 + { + \__biblatex_text_makeconverter:nnn {titlecase_first} {#1} {#2} + } + +\cs_generate_variant:Nn \biblatex_text_makecapital:nn { Vn } + +\cs_new:Npn \biblatex_text_makecapital:n #1 + { + \biblatex_text_makecapital:Vn \blx@languagename {#1} + } + +\cs_set_eq:NN \blx@maketext@makecapital \biblatex_text_makecapital:n + +\NewDocumentCommand \MakeCapital {m} + { + \biblatex_text_makecapital:n {#1} + } + + + +% BibTeX to expl3 case protection code by Joseph Wright +% https://github.com/plk/biblatex/issues/960#issuecomment-578435859 +% and Bruno Le Floch +% https://github.com/moewew/biblatex/commit/c485f1b8079d56497b17343d7883b8fcd42f961a#r39225533 +\tl_put_right:Nn \l_text_expand_exclude_tl { \NoCaseChange } + +\tl_put_right:Nn \l_text_case_exclude_arg_tl { \NoCaseChange } + +\cs_new:Npn \biblatex_text_bibtex_to_expl:n #1 + { + \__biblatex_text_bibtex_loop:w #1 + { \q_recursion_tail } \q_recursion_stop + } + +\cs_new:Npn \__biblatex_text_bibtex_loop:w #1 # + { + \exp_not:n {#1} + \__biblatex_text_bibtex_group:n + } + +\cs_new:Npn \__biblatex_text_bibtex_group:n #1 + { + \quark_if_recursion_tail_stop:n {#1} + { + \bool_lazy_and:nnTF + { \tl_if_head_is_N_type_p:n {#1} } + { \exp_after:wN \token_if_cs_p:N \tl_head:w #1 \q_stop } + { \exp_not:n {#1} } + { \exp_not:n { \NoCaseChange {#1} } } + } + \__biblatex_text_bibtex_loop:w + } + +\cs_new_eq:NN \biblatex_text_sentencecase_preprocess:n + \biblatex_text_bibtex_to_expl:n + + +% By default we emulate BibTeX's brace case protection rules +% but the user can turn that off for a more sane behaviour +% that only relies on \NoCaseChange. +\DeclareBiblatexOption{global,type,entry}[boolean]{bibtexcaseprotection}[true]{% + \str_case:nnF {#1} + { + { true } + { + \cs_set_eq:NN \biblatex_text_sentencecase_preprocess:n + \biblatex_text_bibtex_to_expl:n + } + { false } + { + \cs_set_eq:NN \biblatex_text_sentencecase_preprocess:n + \use:n + } + } + { + \msg_error:nnn { biblatex } { invalid-value-bibtexcaseprotection } + {#1} + } +} + + +\cs_new:Npn \biblatex_text_sentencecase:nn #1 #2 + { + \__biblatex_text_makeconverter:nnn {titlecase} {#1} {#2} + } + + +\cs_generate_variant:Nn \clist_if_in:NnTF { NxTF } + +\cs_generate_variant:Nn \biblatex_text_sentencecase:nn { Vo, xo } + +% If \DeclareCaseLangs says we should apply sentence casing, +% we go for it and pass the language along to the sentence casing macro. +% Preprocess is either the BibTeX-to-expl3 brace translator +% or \@firstofone (do nothing), +% we need to expand once to get rid of the latter. +\NewDocumentCommand \MakeSentenceCase {sm} + { + \IfBooleanTF {#1} + { + \clist_if_in:NxTF + \l__biblatex_caselangs_clist { \blx@mksc@lang } + { + \biblatex_text_sentencecase:xo { \blx@mksc@lang } + { \biblatex_text_sentencecase_preprocess:n {#2} } + } + {#2} + } + { + \biblatex_text_sentencecase:Vo \blx@languagename + { \biblatex_text_sentencecase_preprocess:n {#2} } + } + } + + +\clist_new:N \l__biblatex_caselangs_clist + +% {<language,language,...>} +\NewDocumentCommand \DeclareCaseLangs {sm} + { + \IfBooleanF {#1} + { \clist_clear:N \l__biblatex_caselangs_clist } + \clist_put_left:Nn \l__biblatex_caselangs_clist {#2} + } + +% \DeclareCaseLangs invocation is in biblatex.sty + + +\NewDocumentCommand \ifcaselang {O{\blx@languagename}} + { + \clist_if_in:NxTF \l__biblatex_caselangs_clist {#1} + } + + + +\msg_new:nnnn { biblatex } { invalid-value-bibtexcaseprotection } + { Invalid~value~'#1'~for~option~'bibtexcaseprotection'. } + { Valid~values~for~'bibtexcaseprotection'~are~'true'~and~'false'. } + +\msg_new:nnn { biblatex } { remove-babel-to-pseudobcp-map } + { Removing~babel->l3text~language~mapping~for~'#1'~to~'#2'. } + +\msg_new:nnn { biblatex } { overwrite-babel-to-pseudobcp-map } + { Overwriting~babel->l3text~language~mapping~for~'#1'~from~ + '#2'~to~'#3'. } + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-case-latex2e.def b/Master/texmf-dist/tex/latex/biblatex/blx-case-latex2e.def new file mode 100644 index 00000000000..85641d2e666 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex/blx-case-latex2e.def @@ -0,0 +1,290 @@ +\ProvidesFile{blx-case-latex2e.def} +[\abx@cptid] + +% we don't have l3text's (pseudo)BCP47 language codes here +\newrobustcmd*{\DeclareBabelToExplLanguageMapping}[2]{% + \blx@warning{The command '\string\DeclareBabelToExplLanguageMapping'% + \MessageBreak + is only available with the expl3 case changing\MessageBreak + implementation ('casechanger=expl3').\MessageBreak + Ignoring}} + +\newrobustcmd*{\UndeclareBabelToExplLanguageMapping}[1]{% + \blx@warning{The command '\string\UndeclareBabelToExplLanguageMapping'% + \MessageBreak + is only available with the expl3 case changing\MessageBreak + implementation ('casechanger=expl3').\MessageBreak + Ignoring}} + +\def\blx@maketext@lowercase{\MakeLowercase} + +\def\blx@maketext@uppercase{\MakeUppercase} + +\def\blx@maketext@makecapital{\MakeCapital} + +% {<text>} +\newrobustcmd{\MakeCapital}[1]{% + \begingroup + \blx@mkcp@init + \protected@edef\blx@tempa{#1}% + \expandafter\blx@mkcp@parse\blx@tempa\@empty\blx@mkcp@end} + +\def\blx@mkcp@init{% + \def\blx@mkcp@iec{\noexpand\blx@mkcp@iec\noexpand}% + \def\blx@mkcp@bbl{\noexpand\blx@mkcp@bbl\noexpand}% + \def\blx@mkcp@sgl{\noexpand\blx@mkcp@sgl\noexpand}% + \def\blx@mkcp@dbl{\noexpand\blx@mkcp@dbl\noexpand}% + \def\do##1{\def##1{\blx@mkcp@sgl##1}}\abx@dosingleaccents + \def\do##1{\def##1{\blx@mkcp@dbl##1}}\abx@dodoubleaccents + \def\IeC##1{\blx@mkcp@iec\IeC{##1}}% + \def\@tabacckludge##1{% + \expandafter\blx@mkcp@sgl\csname\string##1\endcsname}} + +\begingroup +\catcode`\"=\active +\gappto\blx@mkcp@init{% + \ifnum\catcode`\"=\active + \def"#1{\blx@mkcp@bbl"\noexpand#1}% + \fi} +\endgroup + +\def\blx@mkcp@parse{% + \futurelet\@let@token\blx@mkcp@eval} + +\long\def\blx@mkcp@eval{% + \ifx\@let@token\blx@mkcp@iec + \expandafter\blx@mkcp@getiec + \fi + \ifx\@let@token\blx@mkcp@bbl + \expandafter\blx@mkcp@gettwo + \fi + \ifx\@let@token\blx@mkcp@sgl + \expandafter\blx@mkcp@gettwo + \fi + \ifx\@let@token\blx@mkcp@dbl + \expandafter\blx@mkcp@getthree + \fi + \blx@mkcp@case} + +\def\blx@mkcp@getiec#1\blx@mkcp@case#2#3#4{% + \blx@mkcp@case{#2#3{#4}}} + +\def\blx@mkcp@gettwo#1\blx@mkcp@case#2#3#4{% + \blx@mkcp@case{#2#3#4}} + +\def\blx@mkcp@getthree#1\blx@mkcp@case#2#3#4#5{% + \blx@mkcp@case{#2#3#4#5}} + +\long\def\blx@mkcp@case#1{% + \begingroup + \def\i{I}\def\j{J}% + \def\do##1##2{\let##1##2\do}% + \expandafter\do\@uclclist\relax{\relax\@gobble}% + \uppercase{\protected@edef\blx@tempa{\endgroup\blx@mkcp@end#1}}% + \blx@tempa} + +\protected\long\def\blx@mkcp@end#1\blx@mkcp@end{% + \let\blx@mkcp@iec\noexpand + \let\blx@mkcp@bbl\noexpand + \let\blx@mkcp@sgl\noexpand + \let\blx@mkcp@dbl\noexpand + \protected@edef\blx@tempa{\endgroup#1}% + \blx@tempa} + + +\DeclareBiblatexOption{global,type,entry}[boolean]{bibtexcaseprotection}[true]{% + \ifstrequal{#1}{true} + {} + {\ifstrequal{#1}{false} + {\blx@warning + {The option 'bibtexcaseprotection=false' is only\MessageBreak + available with expl3}} + {\blx@err@invopt{bibtexcaseprotection=#1} + {Valid values for 'bibtexcaseprotection' are 'true' and + 'false'\MessageBreak + (but 'false' only works with expl3 code)}}}} + +% {<text>} +\newrobustcmd*{\MakeSentenceCase}{% + \@ifstar\blx@mksc@i\blx@mksc@ii} + +% \blx@cmksc@lang is defined in biblatex.sty +% it expands to the applicable language for the title field +\def\blx@mksc@i{% + \xifinlist\blx@mksc@lang\blx@cmksc@lang + {\blx@mksc@ii} + {\@firstofone}} + +\long\def\blx@mksc@ii#1{% + \begingroup + \let\blx@tempa\@empty + \let\blx@tempb\@empty + \blx@mksc@init + \protected@edef\@tempa{#1}% + \expandafter\blx@mksc@parse\@tempa\blx@mksc@end} + +\def\blx@mksc@init{% + \blx@mkcp@init + \def\blx@mkcp@nil{\noexpand\blx@mkcp@nil\noexpand}% + \def\i{\blx@mkcp@nil\i}\def\j{\blx@mkcp@nil\j}% + \def\do##1{% + \ifx##1\relax + \else + \def##1{\blx@mkcp@nil##1}% + \expandafter\do + \fi}% + \expandafter\do\@uclclist\relax} + +\def\blx@mksc@parse{% + \futurelet\@let@token\blx@mksc@eval} + +\let\blx@asttoken=* + +\def\blx@mksc@eval{% + \ifx\@let@token\blx@mksc@end + \expandafter\blx@mksc@end + \fi + \ifx\@let@token\bgroup + \expandafter\blx@mksc@group + \fi + \ifx\@let@token\@sptoken + \expandafter\blx@mksc@space + \fi + \ifx\@let@token\blx@mkcp@nil + \expandafter\blx@mksc@getone + \fi + \ifx\@let@token\blx@mkcp@iec + \expandafter\blx@mksc@getiec + \fi + \ifx\@let@token\blx@mkcp@bbl + \expandafter\blx@mksc@gettwo + \fi + \ifx\@let@token\blx@mkcp@sgl + \expandafter\blx@mksc@gettwo + \fi + \ifx\@let@token\blx@mkcp@dbl + \expandafter\blx@mksc@getthree + \fi + \ifx\@let@token\blx@asttoken + \expandafter\blx@mksc@cs + \fi + \if\noexpand\@let@token\relax + \expandafter\blx@mksc@cs + \fi + \blx@mksc@other} + +\def\blx@mksc@end#1\blx@mksc@end{% + \blx@mksc@eject + \let\blx@mkcp@nil\noexpand + \let\blx@mkcp@iec\noexpand + \let\blx@mkcp@bbl\noexpand + \let\blx@mkcp@sgl\noexpand + \let\blx@mkcp@dbl\noexpand + \let\MakeUppercase\relax + \let\MakeLowercase\relax + \protected@edef\blx@tempa{\endgroup\blx@tempa}% + \blx@tempa} + +\long\def\blx@mksc@group#1\blx@mksc@other#2{% + \futurelet\@let@token\blx@mksc@ingroup#2&{#2}% + \blx@mksc@endhead + \blx@mksc@parse} + +\long\def\blx@mksc@ingroup#1{% + \if\noexpand\@let@token\relax + \ifx\@let@token\blx@mkcp@sgl + \blx@mksc@nocase{{#2}}% + \else + \ifx\@let@token\blx@mkcp@dbl + \blx@mksc@nocase{{#2}}% + \else + \blx@mksc@locase{{#2}}% + \fi + \fi + \else + \blx@mksc@nocase{{#2}}% + \fi} + +\def\blx@mksc@space{\def\blx@mksc@space##1\blx@mksc@other} +\csuse{blx@mksc@space} {% + \blx@mksc@anycase{ }% + \blx@mksc@endhead + \blx@mksc@parse} + +\long\def\blx@mksc@cs#1\blx@mksc@other#2{% + \ifcat\noexpand~\noexpand#2% + \blx@mksc@locase{#2}% + \else + \blx@mksc@nocase{#2}% + \fi + \blx@mksc@endhead + \blx@mksc@parse} + +\def\blx@mksc@getiec#1\blx@mksc@other#2#3#4{% + \blx@mksc@other{#2#3{#4}}} + +\def\blx@mksc@getone#1\blx@mksc@other#2#3{% + \blx@mksc@other{#2#3}} + +\def\blx@mksc@gettwo#1\blx@mksc@other#2#3#4{% + \blx@mksc@other{#2#3#4}} + +\def\blx@mksc@getthree#1\blx@mksc@other#2#3#4#5{% + \blx@mksc@other{#2#3#4#5}} + +\long\def\blx@mksc@other#1{% + \blx@mksc@locase{#1}% + \blx@mksc@endhead + \blx@mksc@parse} + +\def\blx@mksc@locase{% + \appto\blx@tempb} + +\def\blx@mksc@nocase{% + \blx@mksc@eject + \appto\blx@tempa} + +\def\blx@mksc@anycase{% + \ifx\blx@tempb\@empty + \expandafter\appto + \expandafter\blx@tempa + \else + \expandafter\appto + \expandafter\blx@tempb + \fi} + +\def\blx@mksc@eject{% + \ifx\blx@tempb\@empty + \else + \eappto\blx@tempa{\noexpand\MakeLowercase{\expandonce\blx@tempb}}% + \let\blx@tempb\@empty + \fi} + +\def\blx@mksc@endhead{% + \ifx\blx@tempb\@empty + \else + \eappto\blx@tempa{\noexpand\MakeCapital{\expandonce\blx@tempb}}% + \let\blx@tempb\@empty + \fi + \let\blx@mksc@endhead\relax} + + + +% {<language,language,...>} +\newrobustcmd*{\DeclareCaseLangs}{% + \@ifstar + {\blx@defcaselangs} + {\global\let\blx@cmksc@lang\@empty + \blx@defcaselangs}} + +\def\blx@defcaselangs#1{% + \ifblank{#1} + {} + {\forcsvlist{\listgadd\blx@cmksc@lang}{#1}}} + +% \DeclareCaseLangs invocation is in biblatex.sty + +\newrobustcmd*{\ifcaselang}[1][\blx@languagename]{% + \xifinlist{#1}\blx@cmksc@lang} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-compat.def b/Master/texmf-dist/tex/latex/biblatex/blx-compat.def index e315c5cc882..546f16af432 100644 --- a/Master/texmf-dist/tex/latex/biblatex/blx-compat.def +++ b/Master/texmf-dist/tex/latex/biblatex/blx-compat.def @@ -119,29 +119,29 @@ % biblatex <1.6 -\define@key{blx@bib}{maxnames}{\blx@warn@depropt{maxnames}} -\define@key{blx@los}{maxnames}{\blx@warn@depropt{maxnames}} -\define@key{blx@bbs}{maxnames}{\blx@warn@depropt{maxnames}} -\define@key{blx@bbg}{maxnames}{\blx@warn@depropt{maxnames}} -\define@key{blx@bbc}{maxnames}{\blx@warn@depropt{maxnames}} - -\define@key{blx@bib}{minnames}{\blx@warn@depropt{minnames}} -\define@key{blx@los}{minnames}{\blx@warn@depropt{minnames}} -\define@key{blx@bbs}{minnames}{\blx@warn@depropt{minnames}} -\define@key{blx@bbg}{minnames}{\blx@warn@depropt{minnames}} -\define@key{blx@bbc}{minnames}{\blx@warn@depropt{minnames}} - -\define@key{blx@bib}{maxitems}{\blx@warn@depropt{maxitems}} -\define@key{blx@los}{maxitems}{\blx@warn@depropt{maxitems}} -\define@key{blx@bbs}{maxitems}{\blx@warn@depropt{maxitems}} -\define@key{blx@bbg}{maxitems}{\blx@warn@depropt{maxitems}} -\define@key{blx@bbc}{maxitems}{\blx@warn@depropt{maxitems}} - -\define@key{blx@bib}{minitems}{\blx@warn@depropt{minitems}} -\define@key{blx@los}{minitems}{\blx@warn@depropt{minitems}} -\define@key{blx@bbs}{minitems}{\blx@warn@depropt{minitems}} -\define@key{blx@bbg}{minitems}{\blx@warn@depropt{minitems}} -\define@key{blx@bbc}{minitems}{\blx@warn@depropt{minitems}} +\blx@kv@defkey{blx@bib}{maxnames}{\blx@warn@depropt{maxnames}} +\blx@kv@defkey{blx@los}{maxnames}{\blx@warn@depropt{maxnames}} +\blx@kv@defkey{blx@bbs}{maxnames}{\blx@warn@depropt{maxnames}} +\blx@kv@defkey{blx@bbg}{maxnames}{\blx@warn@depropt{maxnames}} +\blx@kv@defkey{blx@bbc}{maxnames}{\blx@warn@depropt{maxnames}} + +\blx@kv@defkey{blx@bib}{minnames}{\blx@warn@depropt{minnames}} +\blx@kv@defkey{blx@los}{minnames}{\blx@warn@depropt{minnames}} +\blx@kv@defkey{blx@bbs}{minnames}{\blx@warn@depropt{minnames}} +\blx@kv@defkey{blx@bbg}{minnames}{\blx@warn@depropt{minnames}} +\blx@kv@defkey{blx@bbc}{minnames}{\blx@warn@depropt{minnames}} + +\blx@kv@defkey{blx@bib}{maxitems}{\blx@warn@depropt{maxitems}} +\blx@kv@defkey{blx@los}{maxitems}{\blx@warn@depropt{maxitems}} +\blx@kv@defkey{blx@bbs}{maxitems}{\blx@warn@depropt{maxitems}} +\blx@kv@defkey{blx@bbg}{maxitems}{\blx@warn@depropt{maxitems}} +\blx@kv@defkey{blx@bbc}{maxitems}{\blx@warn@depropt{maxitems}} + +\blx@kv@defkey{blx@bib}{minitems}{\blx@warn@depropt{minitems}} +\blx@kv@defkey{blx@los}{minitems}{\blx@warn@depropt{minitems}} +\blx@kv@defkey{blx@bbs}{minitems}{\blx@warn@depropt{minitems}} +\blx@kv@defkey{blx@bbg}{minitems}{\blx@warn@depropt{minitems}} +\blx@kv@defkey{blx@bbc}{minitems}{\blx@warn@depropt{minitems}} % Legacy alias for \printshorthands \def\printshorthands{% @@ -149,7 +149,7 @@ {\blx@printshorthands} {\blx@printshorthands[]}} -\def\blx@printshorthands[#1]{\printbiblist[#1]{shorthand}} +\def\blx@printshorthands[#1]{\printbiblist[{#1}]{shorthand}} % Legacy aliases \def\AtBeginShorthands{\AtBeginBiblist{shorthand}} @@ -164,17 +164,17 @@ 'sortlos' option is deprecated.\MessageBreak Please use 'sorting' option to '\string\printbiblist'}} -\define@key{blx@bib1}{sorting}{% +\blx@kv@defkey{blx@bib1}{sorting}{% \blx@warning@noline{% 'sorting' option to '\string\printbibliography' is no longer supported.\MessageBreak Please use 'sorting' option to '\string\newrefcontext'}} -\define@key{blx@biblist1}{sorting}{% +\blx@kv@defkey{blx@biblist1}{sorting}{% \blx@warning@noline{% 'sorting' option to '\string\printbiblist' is no longer supported.\MessageBreak Please use 'sorting' option to '\string\newrefcontext'}} -\define@key{blx@bib2}{prefixnumbers}{% +\blx@kv@defkey{blx@bib2}{prefixnumbers}{% \blx@warning@noline{% 'prefixnumbers' option to '\string\printbibliography' is no longer supported.\MessageBreak Please use 'labelprefix' option to '\string\newrefcontext'}} @@ -198,17 +198,17 @@ \settoggle{blx@skipbiblist}{#1}} % Legacy options moved to \namepart in \DeclareLabelalphaNameTemplate -\define@key{blx@latem@field}{compound}{% deprecated +\blx@kv@defkey{blx@latem@field}{compound}{% deprecated \blx@warning@noline{% Ignored 'compound' option to '\string\field' 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@kv@defkey{blx@latem@field}{pcompound}{% deprecated \blx@warning@noline{% Ignored 'pcompound' option to '\string\field' in '\string\DeclareLabelalphaNameTemplate'\MessageBreak This is now the 'compound' option of '\string\namepart' in\MessageBreak '\string\DeclareLabelalphaNameTemplate'}} -\define@key{blx@latem@field}{pstrwidth}{% deprecated +\blx@kv@defkey{blx@latem@field}{pstrwidth}{% deprecated \blx@warning@noline{% Ignored 'pstrwidth' option to '\string\field' in '\string\DeclareLabelalphaNameTemplate'\MessageBreak This is now the 'strwidth' option of '\string\namepart' in\MessageBreak @@ -240,14 +240,14 @@ Please use 'inits' option to '\string\namepart'\MessageBreak in '\string\DeclareSortingNamekeyTemplate' instead}} -\define@key{blx@refcontext}{prefixnumbers}{%LEGACY(<3.3) +\blx@kv@defkey{blx@refcontext}{prefixnumbers}{%LEGACY(<3.3) \blx@warning@noline{% prefixnumbers option to '\string\newrefcontext' has been renamed.\MessageBreak Please use 'labelprefix' option instead}% - \setkeys{blx@refcontext}{labelprefix=#1}} + \blx@kv@setkeys{blx@refcontext}{labelprefix=#1}} % biblatex < 3.4 -\define@key{blx@bib1}{prefixnumbers}{}%LEGACY(<3.4) legacy name for labelprefix +\blx@kv@defkey{blx@bib1}{prefixnumbers}{}%LEGACY(<3.4) legacy name for labelprefix \DeprecateFieldWithReplacement{prefixnumber}{labelprefix} \DeclareFieldAlias{prefixnumber}{labelprefix} @@ -256,7 +256,7 @@ \blx@warning@noline{% 'datelabel' option is deprecated.\MessageBreak Please use 'labeldate' instead}% - \setkeys{blx@opt@pre}{labeldate=#1}} + \blx@kv@setkeys{blx@opt@pre}{labeldate=#1}} \DeclareBibliographyOption[boolean]{labelyear}[true]{% \blx@warning@noline{% @@ -307,12 +307,12 @@ \mkdaterangeisoextra} % biblatex < 3.8 -\define@key{blx@refcontext}{sortingnamekeyscheme}{% +\blx@kv@defkey{blx@refcontext}{sortingnamekeyscheme}{% \blx@warning@noline{'sortingnamekeyscheme' is deprecated.\MessageBreak Please use 'sortingnamekeytemplatename' instead}% \gdef\blx@refcontext@sortingnamekeytemplatename{#1}} -\define@key{blx@assignrefcontext}{sortingnamekeyscheme}{% +\blx@kv@defkey{blx@assignrefcontext}{sortingnamekeyscheme}{% \blx@warning@noline{'sortingnamekeyscheme' is deprecated.\MessageBreak Please use 'sortingnamekeytemplatename' instead}% \def\blx@tempb{#1}} @@ -351,4 +351,5 @@ Please use '\string\mkdaterangeisoextra'}% \mkdaterangeisoextra} + \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-dm.def b/Master/texmf-dist/tex/latex/biblatex/blx-dm.def index 4cbdfa5bb86..0667b577aec 100644 --- a/Master/texmf-dist/tex/latex/biblatex/blx-dm.def +++ b/Master/texmf-dist/tex/latex/biblatex/blx-dm.def @@ -106,11 +106,11 @@ \blx@xml@datamodel@entrytype{\blx@tempa}{##1}}}% \ifblank{#1} {\docsvlist{#2}} - {\setkeys{blx@datamodel@entrytypes}{#1} + {\blx@kv@setkeys{blx@datamodel@entrytypes}{#1} \docsvlist{#2}}% \endgroup} -\define@key{blx@datamodel@entrytypes}{skipout}[true]{% true|false +\blx@kv@defkey{blx@datamodel@entrytypes}{skipout}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempa{ skip\string_output="true"}} {}} @@ -128,7 +128,7 @@ \boolfalse{dmskipout}% \boolfalse{dmlabelfield}% \let\blx@tempa\@empty - \setkeys{blx@datamodel@field}{#1}% + \blx@kv@setkeys{blx@datamodel@field}{#1}% \def\do##1{% % Generic lists of field/datatypes for testing bib fields \ifinlistcs{##1}{blx@datamodelfields@fieldtypes@\blx@dm@fieldtype} @@ -240,7 +240,7 @@ \xifinlistcs{\blx@datetype ####1}{blx@datamodel@fields} {} {\listcsxadd{blx@datamodel@fields}{\blx@datetype ####1}}% - \setkeys{blx@datamodel@field}{type=field,datatype=datepart,nullok}% + \blx@kv@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}% @@ -252,7 +252,7 @@ \xifinlistcs{\blx@datetype ####1}{blx@datamodel@fields} {} {\listcsxadd{blx@datamodel@fields}{\blx@datetype ####1}}% - \setkeys{blx@datamodel@field}{type=field,datatype=datepart}% + \blx@kv@setkeys{blx@datamodel@field}{type=field,datatype=datepart}% \xappto\blx@bcf@datamodel@fields{% \blx@xml@datamodel@field{\blx@tempa}{\blx@datetype ####1}}}% \expandafter\docsvlist\expandafter{\blx@notnulldateparts}% @@ -261,25 +261,25 @@ \docsvlist{#2} \endgroup} -\define@key{blx@datamodel@field}{type}{% characters +\blx@kv@defkey{blx@datamodel@field}{type}{% characters \eappto\blx@tempa{ fieldtype="#1"}% \def\blx@dm@fieldtype{#1}} -\define@key{blx@datamodel@field}{datatype}{% characters +\blx@kv@defkey{blx@datamodel@field}{datatype}{% characters \eappto\blx@tempa{ datatype="#1"}% \def\blx@dm@datatype{#1}} -\define@key{blx@datamodel@field}{format}{% characters +\blx@kv@defkey{blx@datamodel@field}{format}{% characters \eappto\blx@tempa{ format="#1"}% \def\blx@dm@format{#1}} -\define@key{blx@datamodel@field}{nullok}[true]{% true|false +\blx@kv@defkey{blx@datamodel@field}{nullok}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempa{ nullok="true"}} {}} -\define@key{blx@datamodel@field}{skipout}[true]{% true|false +\blx@kv@defkey{blx@datamodel@field}{skipout}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempa{ skip\string_output="true"}% \booltrue{dmskipout}} {}} -\define@key{blx@datamodel@field}{label}[true]{% true|false +\blx@kv@defkey{blx@datamodel@field}{label}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempa{ label="true"}% \booltrue{dmlabelfield}} @@ -290,13 +290,13 @@ \let\blx@tempa\@empty \ifblank{#1} {\def\blx@tempa{string}} - {\setkeys{blx@datamodel@constant}{#1}}% + {\blx@kv@setkeys{blx@datamodel@constant}{#1}}% \xappto\blx@bcf@datamodel@constants{\blx@xml@datamodel@constant{\blx@tempa}{#2}{#3}}% \csxdef{blx@datamodel@constant@#2}{#3}% \csxdef{blx@datamodel@constanttype@#2}{\blx@tempa}% \endgroup} -\define@key{blx@datamodel@constant}{type}{% +\blx@kv@defkey{blx@datamodel@constant}{type}{% \def\blx@tempa{#1}} \newrobustcmd*{\DeclareDatamodelMultiscriptEntryfields}[1]{% @@ -340,7 +340,7 @@ \newcommand*{\blx@datamodel@constraint}[2][]{% \let\blx@tempc\@empty \let\blx@tempd\@empty - \setkeys{blx@datamodel@constraint}{#1}% + \blx@kv@setkeys{blx@datamodel@constraint}{#1}% \let\constraintfieldsxor\blx@datamodel@constraintfieldsxor \let\constraintfieldsor\blx@datamodel@constraintfieldsor \let\constraintfield\blx@datamodel@constraintfield @@ -349,22 +349,22 @@ #2% \eappto\blx@tempb{\blx@xml@datamodel@constraint{\blx@tempc}{\blx@tempd}}} -\define@key{blx@datamodel@constraint}{type}{% characters +\blx@kv@defkey{blx@datamodel@constraint}{type}{% characters \eappto\blx@tempc{ type="#1"}} -\define@key{blx@datamodel@constraint}{datatype}{% characters +\blx@kv@defkey{blx@datamodel@constraint}{datatype}{% characters \eappto\blx@tempc{ datatype="#1"}} -\define@key{blx@datamodel@constraint}{rangemin}{% integer +\blx@kv@defkey{blx@datamodel@constraint}{rangemin}{% integer \eappto\blx@tempc{ rangemin="#1"}} -\define@key{blx@datamodel@constraint}{rangemax}{% integer +\blx@kv@defkey{blx@datamodel@constraint}{rangemax}{% integer \eappto\blx@tempc{ rangemax="#1"}} -\define@key{blx@datamodel@constraint}{pattern}{% regexp +\blx@kv@defkey{blx@datamodel@constraint}{pattern}{% regexp \eappto\blx@tempc{ pattern="#1"}} \newcommand*{\blx@datamodel@constraint@antecedent}[2][]{% \let\blx@tempe\@empty \let\blx@temph\@empty \let\constraintfield\blx@datamodel@constraintfieldsub - \setkeys{blx@datamodel@constraint@quant}{#1}% + \blx@kv@setkeys{blx@datamodel@constraint@quant}{#1}% #2% \let\constraintfield\blx@datamodel@constraintfield% back to default \eappto\blx@tempd{\blx@xml@datamodel@constraint@antecedent{\blx@tempe}{\blx@temph}}} @@ -373,12 +373,12 @@ \let\blx@tempe\@empty \let\blx@temph\@empty \let\constraintfield\blx@datamodel@constraintfieldsub - \setkeys{blx@datamodel@constraint@quant}{#1}% + \blx@kv@setkeys{blx@datamodel@constraint@quant}{#1}% #2% \let\constraintfield\blx@datamodel@constraintfield% back to default \eappto\blx@tempd{\blx@xml@datamodel@constraint@consequent{\blx@tempe}{\blx@temph}}} -\define@key{blx@datamodel@constraint@quant}{quantifier}{% characters +\blx@kv@defkey{blx@datamodel@constraint@quant}{quantifier}{% characters \eappto\blx@tempe{ quant="#1"}} \newcommand*{\blx@datamodel@constraintfieldsxor}[1]{% @@ -496,9 +496,11 @@ issue, issuesubtitle, issuetitle, + issuetitleaddon, iswc, journalsubtitle, journaltitle, + journaltitleaddon, label, langid, langidopts, @@ -625,6 +627,7 @@ \DeclareDatamodelFields[type=field, datatype=code]{execute} +% fields for all entry types \DeclareDatamodelEntryfields{ abstract, annotation, @@ -632,6 +635,10 @@ bookpagination, crossref, day, + doi, + eprint, + eprintclass, + eprinttype, endday, endhour, endminute, @@ -665,6 +672,12 @@ listf, minute, month, + namea, + nameb, + namec, + nameatype, + namebtype, + namectype, nameaddon, options, origday, @@ -743,7 +756,6 @@ annotator, author, commentator, - doi, editor, editora, editorb, @@ -753,15 +765,14 @@ editorbtype, editorctype, eid, - eprint, - eprintclass, - eprinttype, issn, issue, issuetitle, issuesubtitle, + issuetitleaddon, journalsubtitle, journaltitle, + journaltitleaddon, language, note, number, @@ -785,7 +796,6 @@ annotator, chapter, commentator, - doi, edition, editor, editora, @@ -795,9 +805,7 @@ editoratype, editorbtype, editorctype, - eprint, - eprintclass, - eprinttype, + eid, foreword, introduction, isbn, @@ -828,7 +836,6 @@ annotator, author, commentator, - doi, edition, editor, editora, @@ -838,9 +845,6 @@ editoratype, editorbtype, editorctype, - eprint, - eprintclass, - eprinttype, foreword, introduction, isbn, @@ -871,7 +875,6 @@ booktitleaddon, chapter, commentator, - doi, edition, editor, editora, @@ -881,9 +884,7 @@ editoratype, editorbtype, editorctype, - eprint, - eprintclass, - eprinttype, + eid, foreword, introduction, isbn, @@ -911,12 +912,9 @@ addendum, author, chapter, - doi, editor, editortype, - eprint, - eprintclass, - eprinttype, + eid, howpublished, language, location, @@ -935,7 +933,6 @@ annotator, chapter, commentator, - doi, edition, editor, editora, @@ -945,9 +942,7 @@ editoratype, editorbtype, editorctype, - eprint, - eprintclass, - eprinttype, + eid, foreword, introduction, isbn, @@ -978,7 +973,6 @@ annotator, author, commentator, - doi, edition, editor, editora, @@ -988,9 +982,6 @@ editoratype, editorbtype, editorctype, - eprint, - eprintclass, - eprinttype, foreword, introduction, isbn, @@ -1018,7 +1009,6 @@ booktitleaddon, chapter, commentator, - doi, edition, editor, editora, @@ -1028,9 +1018,7 @@ editoratype, editorbtype, editorctype, - eprint, - eprintclass, - eprinttype, + eid, foreword, introduction, isbn, @@ -1057,13 +1045,9 @@ \DeclareDatamodelEntryfields[dataset]{ addendum, author, - doi, edition, editor, editortype, - eprint, - eprintclass, - eprinttype, language, location, note, @@ -1082,13 +1066,10 @@ addendum, author, chapter, - doi, edition, editor, editortype, - eprint, - eprintclass, - eprinttype, + eid, isbn, language, location, @@ -1109,12 +1090,8 @@ \DeclareDatamodelEntryfields[misc,software]{ addendum, author, - doi, editor, editortype, - eprint, - eprintclass, - eprinttype, howpublished, language, location, @@ -1130,12 +1107,8 @@ \DeclareDatamodelEntryfields[online]{ addendum, author, - doi, editor, editortype, - eprint, - eprintclass, - eprinttype, language, note, organization, @@ -1148,10 +1121,6 @@ \DeclareDatamodelEntryfields[patent]{ addendum, author, - doi, - eprint, - eprintclass, - eprinttype, holder, location, note, @@ -1165,7 +1134,6 @@ \DeclareDatamodelEntryfields[periodical]{ addendum, - doi, editor, editora, editorb, @@ -1174,13 +1142,11 @@ editoratype, editorbtype, editorctype, - eprint, - eprintclass, - eprinttype, issn, issue, issuesubtitle, issuetitle, + issuetitleaddon, language, note, number, @@ -1189,16 +1155,13 @@ series, subtitle, title, + titleaddon, volume} \DeclareDatamodelEntryfields[mvproceedings]{ addendum, - doi, editor, editortype, - eprint, - eprintclass, - eprinttype, eventday, eventendday, eventendhour, @@ -1236,12 +1199,9 @@ \DeclareDatamodelEntryfields[proceedings]{ addendum, chapter, - doi, editor, editortype, - eprint, - eprintclass, - eprinttype, + eid, eventday, eventendday, eventendhour, @@ -1289,12 +1249,9 @@ booktitle, booktitleaddon, chapter, - doi, editor, editortype, - eprint, - eprintclass, - eprinttype, + eid, eventday, eventendday, eventendhour, @@ -1338,10 +1295,7 @@ addendum, author, chapter, - doi, - eprint, - eprintclass, - eprinttype, + eid, institution, isrn, language, @@ -1361,10 +1315,7 @@ addendum, author, chapter, - doi, - eprint, - eprintclass, - eprinttype, + eid, institution, language, location, @@ -1431,8 +1382,10 @@ introduction, issuesubtitle, issuetitle, + issuetitleaddon, journalsubtitle, journaltitle, + journaltitleaddon, location, mainsubtitle, maintitle, @@ -1598,7 +1551,6 @@ \DeclareDatamodelConstraints[proceedings,mvproceedings]{ \constraint[type=mandatory]{ - \constraintfield{editor} \constraintfield{title} } } diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-mcite.def b/Master/texmf-dist/tex/latex/biblatex/blx-mcite.def index b4a8976e50f..ea757f20864 100644 --- a/Master/texmf-dist/tex/latex/biblatex/blx-mcite.def +++ b/Master/texmf-dist/tex/latex/biblatex/blx-mcite.def @@ -11,6 +11,9 @@ \newrobustcmd*{\Mtextcite}{\mcitelike\Textcite} \newrobustcmd*{\msupercite}{\mcitelike\supercite} +\newrobustcmd*{\mautocite}{\mcitelike\autocite} +\newrobustcmd*{\Mautocite}{\mcitelike\Autocite} + % \mcite{key1,setA,*keyA1,*keyA2,*keyA3,key2,setB,*keyB1,*keyB2,*keyB3} % => \mcitelike\cite{key1,setA,*keyA1,*keyA2,*keyA3,key2,setB,*keyB1,*keyB2,*keyB3} % => \defbibentryset{setA}{keyA1,keyA2,keyA3} @@ -28,7 +31,7 @@ \let\blx@mclike@tempb\@empty \let\blx@mclike@tempc\@empty \blx@xsanitizeafter\blx@mclike@i{#4}% - \edef\blx@mclike@tempa{\endgroup\unexpanded{#1[#2][#3]}{\blx@mclike@tempa}}% + \edef\blx@mclike@tempa{\endgroup\unexpanded{#1[{#2}][{#3}]}{\blx@mclike@tempa}}% \blx@mclike@tempa} \def\blx@mclike@i#1{% diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-unicode.def b/Master/texmf-dist/tex/latex/biblatex/blx-unicode.def index 79e003c1904..01009c028ca 100644 --- a/Master/texmf-dist/tex/latex/biblatex/blx-unicode.def +++ b/Master/texmf-dist/tex/latex/biblatex/blx-unicode.def @@ -46,17 +46,17 @@ {\blx@normrange@endash#1––&} {\ifblank{#2} {\begingroup - \edef\blx@tempc{\endgroup + \protected@edef\blx@tempc{\endgroup \blx@range@out@value{% - \expandonce\blx@range@out@item@process{\unexpanded{#1}}% + \blx@range@out@item@process{\unexpanded{#1}}% \noexpand\bibrangedash}}% \blx@tempc} {\ifblank{#1} {\begingroup - \edef\blx@tempc{\endgroup + \protected@edef\blx@tempc{\endgroup \blx@range@out@value{% \noexpand\bibrangedash - \expandonce\blx@range@out@item@process{% + \blx@range@out@item@process{% \unexpanded{#2}}}}% \blx@tempc} {\blx@range@process{#1}{#2}}}}} @@ -66,17 +66,17 @@ {\blx@normrange@hyphen#1--&} {\ifblank{#2} {\begingroup - \edef\blx@tempc{\endgroup + \protected@edef\blx@tempc{\endgroup \blx@range@out@value{% - \expandonce\blx@range@out@item@process{\unexpanded{#1}}% + \blx@range@out@item@process{\unexpanded{#1}}% \noexpand\bibrangedash}}% \blx@tempc} {\ifblank{#1} {\begingroup - \edef\blx@tempc{\endgroup + \protected@edef\blx@tempc{\endgroup \blx@range@out@value{% \noexpand\bibrangedash - \expandonce\blx@range@out@item@process{\unexpanded{#2}}}}% + \blx@range@out@item@process{\unexpanded{#2}}}}% \blx@tempc} {\blx@range@process{#1}{#2}}}}} @@ -85,15 +85,15 @@ {\blx@firstpage@endash#1––&} {\ifblank{#1} {\begingroup - \edef\blx@tempc{\endgroup + \protected@edef\blx@tempc{\endgroup \blx@range@out@value{% \noexpand\bibrangedash - \expandonce\blx@range@out@item@process{\unexpanded{#2}}}}% + \blx@range@out@item@process{\unexpanded{#2}}}}% \blx@tempc} {\begingroup - \edef\blx@tempc{\endgroup + \protected@edef\blx@tempc{\endgroup \blx@range@out@value{% - \expandonce\blx@range@out@item@process{\unexpanded{#1}}}}% + \blx@range@out@item@process{\unexpanded{#1}}}}% \blx@tempc}}} \def\blx@firstpage@endash#1–#2–#3&{% @@ -101,15 +101,15 @@ {\blx@firstpage@hyphen#1--&} {\ifblank{#1} {\begingroup - \edef\blx@tempc{\endgroup + \protected@edef\blx@tempc{\endgroup \blx@range@out@value{% \noexpand\bibrangedash - \expandonce\blx@range@out@item@process{\unexpanded{#2}}}}% + \blx@range@out@item@process{\unexpanded{#2}}}}% \blx@tempc} {\begingroup - \edef\blx@tempc{\endgroup + \protected@edef\blx@tempc{\endgroup \blx@range@out@value{% - \expandonce\blx@range@out@item@process{\unexpanded{#1}}}}% + \blx@range@out@item@process{\unexpanded{#1}}}}% \blx@tempc}}} \endinput 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 b649cbeaee8..86dfce242df 100644 --- a/Master/texmf-dist/tex/latex/biblatex/cbx/numeric-comp.cbx +++ b/Master/texmf-dist/tex/latex/biblatex/cbx/numeric-comp.cbx @@ -1,7 +1,12 @@ \ProvidesFile{numeric-comp.cbx} [\abx@cbxid] -\ExecuteBibliographyOptions{labelnumber,sortcites,autocite=inline} +\newtoggle{cbx:subentrycomp} +\DeclareBiblatexOption{global,type,entry}[boolean]{subentrycomp}[true]{% + \settoggle{cbx:subentrycomp}{#1}} + +\ExecuteBibliographyOptions{labelnumber,sortcites,autocite=inline, + subentrycomp=true} \renewcommand*{\multicitedelim}{\addcomma\space} \renewcommand*{\iffinalcitedelim}{% @@ -10,21 +15,44 @@ \providebool{bbx:subentry} \newbool{cbx:parens} -\newcounter{cbx@tempcnta} -\newcounter{cbx@tempcntb} +\newcounter{cbx@tempcnta}% no. of labelnumbers skipped +\newcounter{cbx@tempcntb}% 'predicted' labelnumber for current cite +\newcounter{cbx@tempcntc}% no. of entrysetcounts we skipped +\newcounter{cbx@tempcntd}% 'predicted' entrysetcount \DeclareFieldFormat{entrysetcount}{\mknumalph{#1}} +\newcommand*{\cbx@iflabelnumberequalslast}{% + \iffieldequals{labelnumber}{\cbx@lastnumber}} + +% \iffieldequals is false even if both are empty/undef +% so we need a special test for that case +% this test is optimised for performance and laziness +% rather than prettiness, not that it would matter a lot... +\newcommand*{\cbx@iflabelprefixequalslast}{% + \ifundef\cbx@lastprefix + {\iffieldundef{labelprefix}} + {\iffieldequals{labelprefix}{\cbx@lastprefix}}} + +% \cbx@iflabelnumberequalslast and \cbx@iflabelprefixequalslast +\newcommand*{\cbx@iflabelnumberandprefixequallast}{% + \cbx@iflabelnumberequalslast + {\cbx@iflabelprefixequalslast} + {\@secondoftwo}} + \newbibmacro*{cite:init}{% \global\boolfalse{cbx:parens}% \global\undef\cbx@lasthash \global\undef\cbx@lastnumber \global\undef\cbx@lastprefix + \global\undef\cbx@lastentrysetcount \setcounter{cbx@tempcnta}{0}% - \setcounter{cbx@tempcntb}{-2}} + \setcounter{cbx@tempcntb}{-2}% + \setcounter{cbx@tempcntc}{0}% + \setcounter{cbx@tempcntd}{-1}} \newbibmacro*{cite:comp}{% - \addtocounter{cbx@tempcntb}{1}% + \stepcounter{cbx@tempcntb}% \iffieldundef{shorthand} {\ifbool{bbx:subentry} {\iffieldundef{entrysetcount} @@ -33,25 +61,22 @@ {\usebibmacro{cite:comp:comp}}} {\usebibmacro{cite:comp:shand}}} +% we externalise printing the citations to +% cite:print:... macros for easier customisation + \newbibmacro*{cite:comp:comp}{% - \ifboolexpr{ - ( test {\iffieldundef{labelprefix}} and test {\ifundef\cbx@lastprefix} ) - or - test {\iffieldequals{labelprefix}{\cbx@lastprefix}} - } + \cbx@iflabelprefixequalslast {\ifnumequal{\thefield{labelnumber}}{\value{cbx@tempcntb}} {\savefield{entrykey}{\cbx@lastkey}% \savefield{labelnumber}{\cbx@lastnumber}% - \addtocounter{cbx@tempcnta}{1}} + \stepcounter{cbx@tempcnta}} {\ifnumequal{\thefield{labelnumber}}{\value{cbx@tempcntb}-1} - {} - {\usebibmacro{cite:dump}% - \ifnumgreater{\value{cbx@tempcntb}}{-1} - {\multicitedelim} - {}% - \printtext[bibhyperref]{% - \printfield{labelprefix}% - \printfield{labelnumber}}}}} + {% current cite is *exactly* the same a previous source + % this can only happen if the same source is cited twice + % and sortcites is turned off + % print nothing + } + {\usebibmacro{cite:comp:end}}}} {\usebibmacro{cite:comp:end}}% \setcounter{cbx@tempcntb}{\thefield{labelnumber}}% \savefield{labelprefix}{\cbx@lastprefix}} @@ -59,44 +84,104 @@ \newbibmacro*{cite:comp:end}{% \usebibmacro{cite:dump}% \ifnumgreater{\value{cbx@tempcntb}}{-1} - {\multicitedelim} + {\setunit{\multicitedelim}} {}% - \printtext[bibhyperref]{% - \printfield{labelprefix}% - \printfield{labelnumber}}} + \usebibmacro{cite:print:labelnumber}} \newbibmacro*{cite:comp:inset}{% - \usebibmacro{cite:dump}% - \ifnumgreater{\value{cbx@tempcntb}}{-1} - {\multicitedelim} - {}% - \printtext[bibhyperref]{% - \printfield{labelprefix}% - \printfield{labelnumber}% - \printfield{entrysetcount}}% - \setcounter{cbx@tempcntb}{-1}} + \stepcounter{cbx@tempcntd}% + \ifboolexpr{ togl {cbx:subentrycomp} + and test {\cbx@iflabelnumberandprefixequallast}} + {\ifnumequal{\thefield{entrysetcount}}{\value{cbx@tempcntd}} + {\savefield{entrykey}{\cbx@lastkey}% + \savefield{entrysetcount}{\cbx@lastentrysetcount}% + \stepcounter{cbx@tempcntc}} + {\ifnumequal{\thefield{entrysetcount}}{\value{cbx@tempcntd}-1} + {% current cite is *exactly* the same a previous source + % this can only happen if the same source is cited twice + % and sortcites is turned off + % print nothing + } + {\usebibmacro{cite:dump:inset}% + \ifnumgreater{\value{cbx@tempcntd}}{-1} + {\setunit{\multicitesubentrydelim}} + {}% + \usebibmacro{cite:print:subentry:comp}}}} + {\usebibmacro{cite:dump}% + \ifnumgreater{\value{cbx@tempcntb}}{-1} + {\multicitedelim} + {}% + \setcounter{cbx@tempcntd}{-1}% + \usebibmacro{cite:print:subentry:full}% + \savefield{labelprefix}{\cbx@lastprefix}% + \savefield{labelnumber}{\cbx@lastnumber}}% + \setcounter{cbx@tempcntd}{\thefield{entrysetcount}}% + \setcounter{cbx@tempcntb}{-1}} \newbibmacro*{cite:comp:shand}{% \usebibmacro{cite:dump}% \ifnumgreater{\value{cbx@tempcntb}}{-1} - {\multicitedelim} + {\setunit{\multicitedelim}} {}% - \printtext[bibhyperref]{\printfield{shorthand}}% + \usebibmacro{cite:print:shorthand}% \setcounter{cbx@tempcntb}{-1}} +\newbibmacro{cite:dump:inset}{% + % dump subentry + \ifnumgreater{\value{cbx@tempcntc}}{0} + {\ifnumgreater{\value{cbx@tempcntc}}{1} + {\setunit{\multicitesubentryrangedelim}} + {\setunit{\multicitesubentrydelim}}% + \usebibmacro{cite:print:last:subentry:comp}% + \global\undef\cbx@lastentrysetcount} + {}% + \setcounter{cbx@tempcntc}{0}% +} + \newbibmacro*{cite:dump}{% + \usebibmacro{cite:dump:inset}% + % dump labelnumber (+labelprefix) \ifnumgreater{\value{cbx@tempcnta}}{0} {\ifnumgreater{\value{cbx@tempcnta}}{1} - {\bibrangedash} - {\multicitedelim}% - \bibhyperref[\cbx@lastkey]{% - \ifdef\cbx@lastprefix - {\printtext[labelprefix]{\cbx@lastprefix}} - {}% - \printtext[labelnumber]{\cbx@lastnumber}}} + {\setunit{\multiciterangedelim}} + {\setunit{\multicitedelim}}% + \usebibmacro{cite:print:last:labelnumber}% + \global\undef\cbx@lastprefix} {}% \setcounter{cbx@tempcnta}{0}% - \global\undef\cbx@lastprefix} +} + +% these macros do the actual printing + +\newbibmacro*{cite:print:shorthand}{% + \printtext[bibhyperref]{\printfield{shorthand}}} + +\newbibmacro*{cite:print:labelnumber}{% + \printtext[bibhyperref]{% + \printfield{labelprefix}% + \printfield{labelnumber}}} + +\newbibmacro*{cite:print:subentry:comp}{% + \printtext[bibhyperref]{\printfield{entrysetcount}}} + +\newbibmacro*{cite:print:subentry:full}{% + \printtext[bibhyperref]{% + \printfield{labelprefix}% + \printfield{labelnumber}% + \printfield{entrysetcount}}} + +\DeclareFieldFormat{bibhyperref:lastkey}{\bibhyperref[\cbx@lastkey]{#1}} + +\newbibmacro*{cite:print:last:subentry:comp}{% + \printtext[bibhyperref:lastkey]{% + \printtext[entrysetcount]{\cbx@lastentrysetcount}}} + +\newbibmacro*{cite:print:last:labelnumber}{% + \printtext[bibhyperref:lastkey]{% + \ifdef\cbx@lastprefix + {\printtext[labelprefix]{\cbx@lastprefix}} + {}% + \printtext[labelnumber]{\cbx@lastnumber}}} \newbibmacro*{textcite}{% \iffieldequals{namehash}{\cbx@lasthash} @@ -107,7 +192,7 @@ {}% \iffirstcitekey {} - {\textcitedelim}% + {\setunit{\textcitedelim}}% \usebibmacro{cite:init}% \ifnameundef{labelname} {\printfield[citetitle]{labeltitle}} @@ -169,6 +254,9 @@ \DeclareCiteCommand{\supercite}[\mkbibsuperscript] {\usebibmacro{cite:init}% \let\multicitedelim=\supercitedelim + \let\multicitesubentrydelim=\supercitesubentrydelim + \let\multiciterangedelim=\superciterangedelim + \let\multicitesubentryrangedelim=\supercitesubentryrangedelim \iffieldundef{prenote} {} {\BibliographyWarning{Ignoring prenote argument}}% diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx index 43fb19712cb..8d92cc663fd 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx @@ -43,13 +43,17 @@ \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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% @@ -463,14 +467,17 @@ langjapanese = {{japon\^es}{japon\^es}}, langlatin = {{latim}{latim}}, langlatvian = {{let\~ao}{let\~ao}}, + langlithuanian = {{lituano}{lituano}}, langnorwegian = {{noruegu\^es}{noruegu\^es}}, langpolish = {{polon\^es}{polon\^es}}, langportuguese = {{portugu{\^e}s}{portugu{\^e}s}}, langrussian = {{russo}{russo}}, + langserbian = {{s\'ervio}{s\'ervio}}, langslovak = {{eslovaco}{eslovaco}}, langslovene = {{esloveno}{esloveno}}, langspanish = {{espanhol}{espanhol}}, langswedish = {{sueco}{sueco}}, + langturkish = {{turco}{turco}}, langukrainian = {{ucraniano}{ucraniano}}, fromamerican = {{do ingl\^es}{do ingl\^es}}, frombrazilian = {{do portugu{\^e}s}{do portugu{\^e}s}}, @@ -492,14 +499,17 @@ fromjapanese = {{do japon\^es}{do japon\^es}}, fromlatin = {{do latim}{do latim}}, fromlatvian = {{do let\~ao}{do let\~ao}}, + fromlithuanian = {{do lituano}{do lituano}}, fromnorwegian = {{do noruegu\^es}{do noruegu\^es}}, frompolish = {{do polon\^es}{do polon\^es}}, fromportuguese = {{do portugu{\^e}s}{do portugu{\^e}s}}, fromrussian = {{do russo}{do russo}}, + fromserbian = {{do s\'ervio}{do s\'ervio}}, fromslovak = {{do eslovaco}{do eslovaco}}, fromslovene = {{do esloveno}{do esloveno}}, fromspanish = {{do espanhol}{do espanhol}}, fromswedish = {{do sueco}{do sueco}}, + fromturkish = {{do turco}{do turco}}, fromukrainian = {{do ucraniano}{do ucraniano}}, countryde = {{Alemanha}{DE}}, countryeu = {{Uni\~ao Europeia}{EU}}, diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/british.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/british.lbx index 87411636e99..7bfdfced5de 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/british.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/british.lbx @@ -42,13 +42,17 @@ {\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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/bulgarian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/bulgarian.lbx index dcc8c695c19..fb64a01ab50 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/bulgarian.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/bulgarian.lbx @@ -70,13 +70,17 @@ \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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx index 973b91b597d..4f1878ac4d4 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx @@ -66,13 +66,17 @@ \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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% @@ -243,9 +247,9 @@ translatorsaf = {{traductors i autors de l'ep\'{\i}leg} {trad\adddotspace i aut\adddotspace de l'ep\adddot}}, translatorcoin = {{traductor, comentarista i autor de la introducci\'o} - {trad.,\addabbrvspace com\adddotspace i aut\adddotspace de la intr\adddotspace}}, + {trad.,\addabbrvspace com\adddotspace i aut\adddotspace de la intr\adddot}}, translatorscoin = {{traductors, comentaristes i autors de la introducci\'o} - {trad.,\addabbrvspace com\adddotspace i aut\adddotspace de la intr\adddotspace}}, + {trad.,\addabbrvspace com\adddotspace i aut\adddotspace de la intr\adddot}}, translatorcofo = {{traductor, comentarista i autor del pr\`oleg} {trad.,\addabbrvspace com\adddotspace i aut\adddotspace del pr\`ol\adddot}}, translatorscofo = {{traductors, comentaristes i autors del pr\`oleg} @@ -422,7 +426,7 @@ version = {{versi\'o}{vers\adddot}}, url = {{adre\c{c}a}{adr\adddot}}, urlfrom = {{disponible a}{disp\adddotspace a}}, - urlseen = {{consultat}{cons\adddotspace}}, % Possibly better «consultat \smartel», but \smartel unavailable + urlseen = {{consultat}{cons\adddot}}, % Possibly better «consultat \smartel», but \smartel unavailable inpreparation = {{en preparaci\'o}{en prep\adddot}}, inpress = {{a impremta}{a impr\adddot}},% Per revisar prepublished = {{pre-publicat}{pre-publicat}}, diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx index b3b92e03ac3..59386494900 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx @@ -45,13 +45,17 @@ \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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx index 716b3a1ee85..d23131f0722 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx @@ -38,13 +38,17 @@ {\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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% @@ -81,35 +85,49 @@ compilers = {{sestavili}{sest\adddot}}, redactor = {{redaktor}{red\adddot}}, redactors = {{redakto\v{r}i}{red\adddot}}, + reviser = {{korektor}{kor\adddot}}, + revisers = {{korekto\v{r}i}{kor\adddot}}, founder = {{zakladatel}{zakl\adddot}}, founders = {{zakladatel\'{e}}{zakl\adddot}}, continuator = {{pokra\v{c}ovatel}{pokr\adddot}},% FIXME: unsure continuators = {{pokra\v{c}ovatel\'{e}}{pokr\adddot}},% FIXME: unsure - collaborator = {{spolupracovn\'{i}k}{spoluprac\adddot}},% FIXME: unsure - collaborators = {{spolupracovn\'{i}ci}{spoluprac\adddot}},% FIXME: unsure + collaborator = {{spolupracovn\'{\i}k}{spoluprac\adddot}},% FIXME: unsure + collaborators = {{spolupracovn\'{\i}ci}{spoluprac\adddot}},% FIXME: unsure translator = {{p\v{r}ekladatel}{p\v{r}ekl\adddot}}, translators = {{p\v{r}ekladatel\'{e}}{p\v{r}ekl\adddot}}, commentator = {{koment\'{a}tor}{kom\adddot}}, commentators = {{koment\'{a}to\v{r}i}{kom\adddot}}, annotator = {{anot\'{a}tor}{anot\adddot}}, annotators = {{anot\'{a}to\v{r}i}{anot\adddot}}, - commentary = {{koment\'{a}tor}{komm\adddot}},% FIXME: unsure - annotations = {{anotatace}{anot\adddot}}, + commentary = {{koment\'{a}\v{r}}{kom\adddot}}, + annotations = {{anotace}{anot\adddot}}, introduction = {{\'{u}vod}{\'{u}v\adddot}}, foreword = {{p\v{r}edmluva}{p\v{r}edml\adddot}}, afterword = {{doslov}{dosl\adddot}}, - editortr = {{editor a p\v{r}ekladatel}{ed\adddotspace a p\v{r}ekl\adddot}}, - editorstr = {{edito\v{r}i a p\v{r}ekladatel\'{e}}{ed\adddotspace a p\v{r}ekl\adddot}}, - editorco = {{editor a koment\'{a}tor}{ed\adddotspace a kom\adddot}}, - editorsco = {{editor a koment\'{a}to\v{r}i}{ed\adddotspace a kom\adddot}}, - editoran = {{editor a anot\'{a}tor}{ed\adddotspace a anot\adddot}}, - editorsan = {{editor a anot\'{a}to\v{r}i}{ed\adddotspace a anot\adddot}}, - editorin = {{editor a \'{u}vod}{ed\adddotspace \'{u}v\adddot}}, - editorsin = {{edito\v{r}i a \'{u}vod}{ed\adddotspace a \'{u}v\adddot}}, - editorfo = {{editor a p\v{r}edmluva}{ed\adddotspace a p\v{r}edml\adddot}}, - editorsfo = {{edito\v{r}i a p\v{r}edmluva}{ed\adddotspace a p\v{r}edml\adddot}}, - editoraf = {{editor a doslov}{ed\adddotspace a dosl\adddot}}, - editorsaf = {{edito\v{r}i a doslov}{ed\adddotspace a dosl\adddot}}, + editortr = {{editor a p\v{r}ekladatel}% + {ed\adddotspace a p\v{r}ekl\adddot}}, + editorstr = {{edito\v{r}i a p\v{r}ekladatel\'{e}}% + {ed\adddotspace a p\v{r}ekl\adddot}}, + editorco = {{editor a koment\'{a}tor}% + {ed\adddotspace a kom\adddot}}, + editorsco = {{editor a koment\'{a}to\v{r}i}% + {ed\adddotspace a kom\adddot}}, + editoran = {{editor a anot\'{a}tor}% + {ed\adddotspace a anot\adddot}}, + editorsan = {{editor a anot\'{a}to\v{r}i}% + {ed\adddotspace a anot\adddot}}, + editorin = {{editor a \'{u}vod}% + {ed\adddotspace a \'{u}v\adddot}}, + editorsin = {{edito\v{r}i a \'{u}vod}% + {ed\adddotspace a \'{u}v\adddot}}, + editorfo = {{editor a p\v{r}edmluva}% + {ed\adddotspace a p\v{r}edml\adddot}}, + editorsfo = {{edito\v{r}i a p\v{r}edmluva}% + {ed\adddotspace a p\v{r}edml\adddot}}, + editoraf = {{editor a doslov}% + {ed\adddotspace a dosl\adddot}}, + editorsaf = {{edito\v{r}i a doslov}% + {ed\adddotspace a dosl\adddot}}, editortrco = {{editor, p\v{r}eklad\ a koment\'{a}tor}% {ed.,\addabbrvspace p\v{r}ekl\adddot\ a kom\adddot}},% FIXME: hruznost editorstrco = {{edito\v{r}i, p\v{r}ekladatel\'{e}\ a koment\'{a}to\v{r}i}% @@ -119,191 +137,227 @@ editorstran = {{edito\v{r}i, p\v{r}ekladatel\'{e}\ a anot\'{a}to\v{r}i}% {ed.,\addabbrvspace p\v{r}ekl\adddot\ a anot\adddot}}, editortrin = {{editor, p\v{r}ekladatel\ a \'{u}vod}% - {ed.,\addabbrvspace p\v{r}ekl\adddot\ a \'{u}vod\adddot}}, + {ed.,\addabbrvspace p\v{r}ekl\adddot\ a \'{u}v\adddot}}, editorstrin = {{edito\v{r}i, p\v{r}ekladatel\'{e}\ a \'{u}vod}% - {ed.,\addabbrvspace p\v{r}ekl\adddot\ a \'{u}vod\adddot}}, + {ed.,\addabbrvspace p\v{r}ekl\adddot\ a \'{u}v\adddot}}, editortrfo = {{editor, p\v{r}ekladatel\ a p\v{r}edmluva}% {ed.,\addabbrvspace p\v{r}ekl\adddot\ a p\v{r}edml\adddot}}, editorstrfo = {{edito\v{r}i, p\v{r}ekladatel\'{e}\ a p\v{r}edmluva}% {ed.,\addabbrvspace p\v{r}ekl\adddot\ a p\v{r}edml\adddot}}, - editortraf = {{editor, p\v{r}ekladatel\ a doslov}% - {ed.,\addabbrvspace p\v{r}ekl\adddot\ a afterw\adddot}}, - editorstraf = {{edito\v{r}i, p\v{r}ekladatel\'{e}\ a doslov}% - {ed.,\addabbrvspace p\v{r}ekl\adddot\ a afterw\adddot}}, + editortraf = {{editor, p\v{r}ekladatel\ a doslov}% + {ed.,\addabbrvspace p\v{r}ekl\adddot\ a dosl\adddot}}, + editorstraf = {{edito\v{r}i, p\v{r}ekladatel\'{e}\ a doslov}% + {ed.,\addabbrvspace p\v{r}ekl\adddot\ a dosl\adddot}}, editorcoin = {{editor, koment\'{a}tor\ a \'{u}vod}% - {ed.,\addabbrvspace kom\adddot\ a \'{u}vod\adddot}}, + {ed.,\addabbrvspace kom\adddot\ a \'{u}v\adddot}}, editorscoin = {{edito\v{r}i, koment\'{a}to\v{r}i\ a \'{u}vod}% - {ed.,\addabbrvspace kom\adddot\ a \'{u}vod\adddot}}, + {ed.,\addabbrvspace kom\adddot\ a \'{u}v\adddot}}, editorcofo = {{editor, koment\'{a}tor\ a p\v{r}edmluva}% {ed.,\addabbrvspace kom\adddot\ a p\v{r}edml\adddot}}, editorscofo = {{edito\v{r}i, koment\'{a}to\v{r}i\ a p\v{r}edmluva}% {ed.,\addabbrvspace kom\adddot\ a p\v{r}edml\adddot}}, - editorcoaf = {{editor, koment\'{a}tor\ a doslov}% + editorcoaf = {{editor, koment\'{a}tor\ a doslov}% {ed.,\addabbrvspace kom\adddot\ a dosl\adddot}}, - editorscoaf = {{edito\v{r}i, koment\'{a}to\v{r}i\ a doslov}% + editorscoaf = {{edito\v{r}i, koment\'{a}to\v{r}i\ a doslov}% {ed.,\addabbrvspace kom\adddot\ a dosl\adddot}}, editoranin = {{editor, anot\'{a}tor\ a \'{u}vod}% - {ed.,\addabbrvspace anot\adddot\ a \'{u}vod\adddot}}, + {ed.,\addabbrvspace anot\adddot\ a \'{u}v\adddot}}, editorsanin = {{edito\v{r}i, anot\'{a}to\v{r}i\ a \'{u}vod}% - {ed.,\addabbrvspace anot\adddot\ a \'{u}vod\adddot}}, + {ed.,\addabbrvspace anot\adddot\ a \'{u}v\adddot}}, editoranfo = {{editor, anot\'{a}tor\ a p\v{r}edmluva}% {ed.,\addabbrvspace anot\adddot\ a p\v{r}edml\adddot}}, editorsanfo = {{edito\v{r}i, anot\'{a}to\v{r}i\ a p\v{r}edmluva}% {ed.,\addabbrvspace anot\adddot\ a p\v{r}edml\adddot}}, - editoranaf = {{editor, anot\'{a}tor\ a doslov}{ed.,\addabbrvspace anot\adddot\ a dosl\adddot}}, - editorsanaf = {{edito\v{r}i, anot\'{a}to\v{r}i\ a doslov}% + editoranaf = {{editor, anot\'{a}tor\ a doslov}% + {ed.,\addabbrvspace anot\adddot\ a dosl\adddot}}, + editorsanaf = {{edito\v{r}i, anot\'{a}to\v{r}i\ a doslov}% {ed.,\addabbrvspace anot\adddot\ a dosl\adddot}}, editortrcoin = {{editor, p\v{r}ekladatel, koment\'{a}tor\ a \'{u}vod}% - {ed.,\addabbrvspace p\v{r}ekl., kom\adddot\ a \'{u}vod\adddot}}, + {ed.,\addabbrvspace p\v{r}ekl., kom\adddot\ a \'{u}v\adddot}}, editorstrcoin = {{edito\v{r}i, p\v{r}ekladatel\'{e}, koment\'{a}to\v{r}i\ a \'{u}vod}% - {ed.,\addabbrvspace p\v{r}ekl., kom\adddot\ a \'{u}vod\adddot}}, + {ed.,\addabbrvspace p\v{r}ekl., kom\adddot\ a \'{u}v\adddot}}, editortrcofo = {{editor, p\v{r}ekladatel, koment\'{a}tor\ a p\v{r}edmluva}% {ed.,\addabbrvspace p\v{r}ekl., kom\adddot\ a p\v{r}edml\adddot}}, editorstrcofo = {{edito\v{r}i, p\v{r}ekladatel\'{e}, koment\'{a}to\v{r}i\ a p\v{r}edmluva}% {ed.,\addabbrvspace p\v{r}ekl., kom\adddot\ a p\v{r}edml\adddot}}, - editortrcoaf = {{editor, p\v{r}ekladatel, koment\'{a}tor\ a doslov}% + editortrcoaf = {{editor, p\v{r}ekladatel, koment\'{a}tor\ a doslov}% {ed.,\addabbrvspace p\v{r}ekl., kom\adddot\ a dosl\adddot}}, - editorstrcoaf = {{edito\v{r}i, p\v{r}ekladatel\'{e}, koment\'{a}to\v{r}i\ a doslov}% + editorstrcoaf = {{edito\v{r}i, p\v{r}ekladatel\'{e}, koment\'{a}to\v{r}i\ a doslov}% {ed.,\addabbrvspace p\v{r}ekl., kom\adddot\ a dosl\adddot}}, editortranin = {{editor, p\v{r}ekladatel, anot\'{a}tor\ a \'{u}vod}% - {ed.,\addabbrvspace p\v{r}ekl., anot\adddot\ a \'{u}vod\adddot}}, + {ed.,\addabbrvspace p\v{r}ekl., anot\adddot\ a \'{u}v\adddot}}, editorstranin = {{edito\v{r}i, p\v{r}ekladatel\'{e}, anot\'{a}to\v{r}i\ a \'{u}vod}% - {ed.,\addabbrvspace p\v{r}ekl., anot\adddot\ a \'{u}vod\adddot}}, + {ed.,\addabbrvspace p\v{r}ekl., anot\adddot\ a \'{u}v\adddot}}, editortranfo = {{editor, p\v{r}ekladatel, anot\'{a}tor\ a p\v{r}edmluva}% {ed.,\addabbrvspace p\v{r}ekl., anot\adddot\ a p\v{r}edml\adddot}}, editorstranfo = {{edito\v{r}i, p\v{r}ekladatel\'{e}, anot\'{a}to\v{r}i\ a p\v{r}edmluva}% {ed.,\addabbrvspace p\v{r}ekl., anot\adddot\ a p\v{r}edml\adddot}}, - editortranaf = {{editor, p\v{r}ekladatel, anot\'{a}tor\ a doslov}% + editortranaf = {{editor, p\v{r}ekladatel, anot\'{a}tor\ a doslov}% {ed.,\addabbrvspace p\v{r}ekl., anot\adddot\ a dosl\adddot}}, - editorstranaf = {{edito\v{r}i, p\v{r}ekladatel\'{e}, anot\'{a}to\v{r}i\ a doslov}% + editorstranaf = {{edito\v{r}i, p\v{r}ekladatel\'{e}, anot\'{a}to\v{r}i\ a doslov}% {ed.,\addabbrvspace p\v{r}ekl., anot\adddot\ a dosl\adddot}}, - translatorco = {{p\v{r}ekladatel a koment\'{a}tor}{p\v{r}ekl\adddot\ a kom\adddot}}, - translatorsco = {{p\v{r}ekladatel\'{e} a koment\'{a}to\v{r}i}{p\v{r}ekl\adddot\ a kom\adddot}}, - translatoran = {{p\v{r}ekladatel a anot\'{a}tor}{p\v{r}ekl\adddot\ a anot\adddot}}, - translatorsan = {{p\v{r}ekladatel\'{e} a anot\'{a}to\v{r}i}{p\v{r}ekl\adddot\ a anot\adddot}}, - translatorin = {{p\v{r}eklad a \'{u}vod}{p\v{r}ekl\adddot\ a \'{u}vod\adddot}}, - translatorsin = {{p\v{r}eklad a \'{u}vod}{p\v{r}ekl\adddot\ a \'{u}vod\adddot}}, - translatorfo = {{p\v{r}eklad a p\v{r}edmluva}{p\v{r}ekl\adddot\ a p\v{r}edml\adddot}}, - translatorsfo = {{p\v{r}eklad a p\v{r}edmluva}{p\v{r}ekl\adddot\ a p\v{r}edml\adddot}}, - translatoraf = {{p\v{r}eklad a doslov}{p\v{r}ekl\adddot\ a dosl\adddot}}, - translatorsaf = {{p\v{r}eklad a doslov}{p\v{r}ekl\adddot\ a dosl\adddot}}, - translatorcoin = {{p\v{r}eklad, koment\'{a}\v{r}\ a \'{u}vod}{p\v{r}ekl., kom\adddot\ a \'{u}vod\adddot}}, - translatorscoin = {{p\v{r}eklad, koment\'{a}\v{r}\ a \'{u}vod}{p\v{r}ekl., kom\adddot\ a \'{u}vod\adddot}}, - translatorcofo = {{p\v{r}eklad, koment\'{a}\v{r}\ a p\v{r}edmluva}{p\v{r}ekl., kom\adddot\ a p\v{r}edml\adddot}}, - translatorscofo = {{p\v{r}eklad, koment\'{a}\v{r}\ a p\v{r}edmluva}{p\v{r}ekl., kom\adddot\ a p\v{r}edml\adddot}}, - translatorcoaf = {{p\v{r}eklad, koment\'{a}\v{r}\ a doslov}{p\v{r}ekl., kom\adddot\ a dosl\adddot}}, - translatorscoaf = {{p\v{r}eklad, koment\'{a}\v{r}\ a doslov}{p\v{r}ekl., kom\adddot\ a dosl\adddot}}, - translatoranin = {{p\v{r}eklad, anotace,\ a \'{u}vod}{p\v{r}ekl., anot\adddot\ a \'{u}vod\adddot}}, - translatorsanin = {{p\v{r}eklad, anotace,\ a \'{u}vod}{p\v{r}ekl., anot\adddot\ a \'{u}vod\adddot}}, - translatoranfo = {{p\v{r}eklad, anotace,\ a p\v{r}edmluva}{p\v{r}ekl., anot\adddot\ a p\v{r}edml\adddot}}, - translatorsanfo = {{p\v{r}eklad, anotace,\ a p\v{r}edmluva}{p\v{r}ekl., anot\adddot\ a p\v{r}edml\adddot}}, - translatoranaf = {{p\v{r}eklad, anotace,\ a doslov}{p\v{r}ekl., anot\adddot\ a dosl\adddot}}, - translatorsanaf = {{p\v{r}eklad, anotace,\ a doslov}{p\v{r}ekl., anot\adddot\ a dosl\adddot}}, -% organizer = {{}{}},% FIXME: missing -% organizers = {{}{}},% FIXME: missing -% byorganizer = {{}{}},% FIXME: missing - byauthor = {{by}{by}}, - byeditor = {{editov\'{a}no}{ed\adddotspace}}, - bycompiler = {{sestaveno}{comp\adddotspace}}, - byredactor = {{redigov\'{a}no}{red\adddotspace}}, - byfounder = {{zalo\v{z}eno}{found\adddotspace}}, - bycontinuator = {{pokra\v{c}ov\'{a}no}{cont\adddotspace}}, - bycollaborator = {{ve spolupr\'{a}ci s}{ve spol\adddotspace s}},% FIXME: unsure + translatorco = {{p\v{r}ekladatel a koment\'{a}tor}% + {p\v{r}ekl\adddot\ a kom\adddot}}, + translatorsco = {{p\v{r}ekladatel\'{e} a koment\'{a}to\v{r}i}% + {p\v{r}ekl\adddot\ a kom\adddot}}, + translatoran = {{p\v{r}ekladatel a anot\'{a}tor}% + {p\v{r}ekl\adddot\ a anot\adddot}}, + translatorsan = {{p\v{r}ekladatel\'{e} a anot\'{a}to\v{r}i}% + {p\v{r}ekl\adddot\ a anot\adddot}}, + translatorin = {{p\v{r}eklad a \'{u}vod}% + {p\v{r}ekl\adddot\ a \'{u}v\adddot}}, + translatorsin = {{p\v{r}eklad a \'{u}vod}% + {p\v{r}ekl\adddot\ a \'{u}v\adddot}}, + translatorfo = {{p\v{r}eklad a p\v{r}edmluva}% + {p\v{r}ekl\adddot\ a p\v{r}edml\adddot}}, + translatorsfo = {{p\v{r}eklad a p\v{r}edmluva}% + {p\v{r}ekl\adddot\ a p\v{r}edml\adddot}}, + translatoraf = {{p\v{r}eklad a doslov}% + {p\v{r}ekl\adddot\ a dosl\adddot}}, + translatorsaf = {{p\v{r}eklad a doslov}% + {p\v{r}ekl\adddot\ a dosl\adddot}}, + translatorcoin = {{p\v{r}eklad, koment\'{a}\v{r}\ a \'{u}vod}% + {p\v{r}ekl., kom\adddot\ a \'{u}v\adddot}}, + translatorscoin = {{p\v{r}eklad, koment\'{a}\v{r}\ a \'{u}vod}% + {p\v{r}ekl., kom\adddot\ a \'{u}v\adddot}}, + translatorcofo = {{p\v{r}eklad, koment\'{a}\v{r}\ a p\v{r}edmluva}% + {p\v{r}ekl., kom\adddot\ a p\v{r}edml\adddot}}, + translatorscofo = {{p\v{r}eklad, koment\'{a}\v{r}\ a p\v{r}edmluva}% + {p\v{r}ekl., kom\adddot\ a p\v{r}edml\adddot}}, + translatorcoaf = {{p\v{r}eklad, koment\'{a}\v{r}\ a doslov}% + {p\v{r}ekl., kom\adddot\ a dosl\adddot}}, + translatorscoaf = {{p\v{r}eklad, koment\'{a}\v{r}\ a doslov}% + {p\v{r}ekl., kom\adddot\ a dosl\adddot}}, + translatoranin = {{p\v{r}eklad, anotace,\ a \'{u}vod}% + {p\v{r}ekl., anot\adddot\ a \'{u}v\adddot}}, + translatorsanin = {{p\v{r}eklad, anotace,\ a \'{u}vod}% + {p\v{r}ekl., anot\adddot\ a \'{u}v\adddot}}, + translatoranfo = {{p\v{r}eklad, anotace,\ a p\v{r}edmluva}% + {p\v{r}ekl., anot\adddot\ a p\v{r}edml\adddot}}, + translatorsanfo = {{p\v{r}eklad, anotace,\ a p\v{r}edmluva}% + {p\v{r}ekl., anot\adddot\ a p\v{r}edml\adddot}}, + translatoranaf = {{p\v{r}eklad, anotace,\ a doslov}% + {p\v{r}ekl., anot\adddot\ a dosl\adddot}}, + translatorsanaf = {{p\v{r}eklad, anotace,\ a doslov}% + {p\v{r}ekl., anot\adddot\ a dosl\adddot}}, + organizer = {{organiz\'{a}tor}{org\adddot}},% FIXME: unsure + organizers = {{organiz\'{a}to\v{r}i}{org\adddot}},% FIXME: unsure + byorganizer = {{organizov\'{a}no}{org\adddot}},% FIXME: unsure + byauthor = {{}{}}, + byeditor = {{editov\'{a}no}{ed\adddot}}, + bycompiler = {{sestaveno}{sest\adddot}}, + byredactor = {{redigov\'{a}no}{red\adddot}}, + byreviser = {{korigov\'{a}no}{kor\adddot}}, + byreviewer = {{recenzov\'{a}no}{recenz\adddot}}, + byfounder = {{zalo\v{z}eno}{zal\adddot}}, + bycontinuator = {{pokra\v{c}ov\'{a}no}{pokr\adddot}}, + bycollaborator = {{ve spolupr\'{a}ci s\addnbspace}{ve spol\adddotspace s\addnbspace}}, bytranslator = {{p\v{r}elo\v{z}eno \lbx@lfromlang}{p\v{r}el\adddot\ \lbx@sfromlang}}, - bycommentator = {{komentov\'{a}no}{kom\adddotspace}}, - byannotator = {{anotov\'{a}no}{anot\adddotspace}}, - withcommentator = {{s koment\'{a}\v{r}em}{s kom\adddotspace}},%mozna: s komentarem od? - withannotator = {{s anotacemi od}{s anot\adddot\ od}}, - withintroduction = {{s \'{u}vodem od}{u \'{u}v\adddot\ od}}, - withforeword = {{s p\v{r}edmluvou od}{s p\v{r}edml\adddot\ od}}, - withafterword = {{s doslovem}{s dosl\adddot\ }}, - byeditortr = {{editov\'{a}no a p\v{r}elo\v{z}eno \lbx@lfromlang\ }% - {ed\adddotspace a p\v{r}el\adddot\ \lbx@sfromlang\ }}, - byeditorco = {{editov\'{a}no a komentov\'{a}no}{ed\adddotspace a kom\adddot\ }}, - byeditoran = {{editov\'{a}no a anotov\'{a}no}{ed\adddotspace a anot\adddot\ }}, - byeditorin = {{editov\'{a}no, s \'{u}vodem}{ed.,\addabbrvspace s \'{u}vodem}}, - byeditorfo = {{editov\'{a}no, s p\v{r}edmluvou}{ed.,\addabbrvspace s p\v{r}edml., }}, - byeditoraf = {{editov\'{a}no, s doslovem}{ed.,\addabbrvspace s dosl.,}}, + bycommentator = {{komentov\'{a}no}{kom\adddot}}, + byannotator = {{anotov\'{a}no}{anot\adddot}}, + withcommentator = {{s\addnbspace koment\'{a}\v{r}em od}{s\addnbspace kom\adddot\ od}}, + withannotator = {{s\addnbspace anotacemi od}{s\addnbspace anot\adddot\ od}}, + withintroduction = {{s\addnbspace \'{u}vodem od}{s\addnbspace \'{u}v\adddot\ od}}, + withforeword = {{s\addnbspace p\v{r}edmluvou od}{s\addnbspace p\v{r}edml\adddot\ od}}, + withafterword = {{s\addnbspace doslovem od}{s\addnbspace dosl\adddot\ od}}, + byeditortr = {{editov\'{a}no a p\v{r}elo\v{z}eno \lbx@lfromlang}% + {ed\adddotspace a p\v{r}el\adddot\ \lbx@sfromlang}}, + byeditorco = {{editov\'{a}no a komentov\'{a}no}% + {ed\adddotspace a kom\adddot}}, + byeditoran = {{editov\'{a}no a anotov\'{a}no}% + {ed\adddotspace a anot\adddot}}, + byeditorin = {{editov\'{a}no, s\addnbspace \'{u}vodem}% + {ed.,\addabbrvspace s\addnbspace \'{u}v\adddot}}, + byeditorfo = {{editov\'{a}no, s\addnbspace p\v{r}edmluvou}% + {ed.,\addabbrvspace s\addnbspace p\v{r}edml\adddot}}, + byeditoraf = {{editov\'{a}no, s\addnbspace doslovem}% + {ed.,\addabbrvspace s\addnbspace dosl\adddot}}, byeditortrco = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no}% - {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a kom\adddot\ }}, + {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a kom\adddot}}, byeditortran = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no}% - {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a anot\adddot\ }}, - byeditortrin = {{editov\'{a}no a p\v{r}elo\v{z}eno \lbx@lfromlang, s \'{u}vodem}% - {ed\adddotspace a p\v{r}el\adddot\ \lbx@sfromlang, s \'{u}vodem}}, - byeditortrfo = {{editov\'{a}no a p\v{r}elo\v{z}eno \lbx@lfromlang, s p\v{r}edmluvou}% - {ed\adddotspace a p\v{r}el\adddot\ \lbx@sfromlang, s p\v{r}edmluvou}}, - byeditortraf = {{editov\'{a}no a p\v{r}elo\v{z}eno \lbx@lfromlang, s doslovem}% - {ed\adddotspace a p\v{r}ekl\adddot\ \lbx@sfromlang, s doslovem}}, - byeditorcoin = {{editov\'{a}no a komentov\'{a}no, s \'{u}vodem}{ed\adddotspace a kom., s \'{u}vodem}}, - byeditorcofo = {{editov\'{a}no a komentov\'{a}no, s p\v{r}edmluvou}{ed\adddotspace a kom., s p\v{r}edml\adddot}}, - byeditorcoaf = {{editov\'{a}no a komentov\'{a}no, s doslovem}{ed\adddotspace a kom., s dosl.}}, - byeditoranin = {{editov\'{a}no a anotov\'{a}no, s \'{u}vodem}{ed\adddotspace a anot., s \'{u}vodem}}, - byeditoranfo = {{editov\'{a}no a anotov\'{a}no, s p\v{r}edmluvou}{ed\adddotspace a anot., s p\v{r}edml\adddot}}, - byeditoranaf = {{editov\'{a}no a anotov\'{a}no, s doslovem}{ed\adddotspace a anot., s dosl\adddot}}, - byeditortrcoin = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no, s \'{u}vodem}% - {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s \'{u}vodem}}, - byeditortrcofo = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no, s p\v{r}edmluvou }% - {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s p\v{r}edml\adddot}}, - byeditortrcoaf = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no, s doslovem}% - {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s dosl\adddot}}, - byeditortranin = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s \'{u}vodem}% - {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a anot\adddot, s \'{u}vodem}}, - byeditortranfo = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s p\v{r}edmluvou}% - {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a anot, s p\v{r}edml\adddot}}, - byeditortranaf = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s doslovem}% - {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a anot, s dosl\adddot}}, + {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a anot\adddot}}, + byeditortrin = {{editov\'{a}no a p\v{r}elo\v{z}eno \lbx@lfromlang, s\addnbspace \'{u}vodem}% + {ed\adddotspace a p\v{r}el\adddot\ \lbx@sfromlang, s\addnbspace \'{u}v\adddot}}, + byeditortrfo = {{editov\'{a}no a p\v{r}elo\v{z}eno \lbx@lfromlang, s\addnbspace p\v{r}edmluvou}% + {ed\adddotspace a p\v{r}el\adddot\ \lbx@sfromlang, s\addnbspace p\v{r}edml\adddot}}, + byeditortraf = {{editov\'{a}no a p\v{r}elo\v{z}eno \lbx@lfromlang, s\addnbspace doslovem}% + {ed\adddotspace a p\v{r}el\adddot\ \lbx@sfromlang, s\addnbspace dosl\adddot}}, + byeditorcoin = {{editov\'{a}no a komentov\'{a}no, s\addnbspace \'{u}vodem}% + {ed\adddotspace a kom., s\addnbspace \'{u}v\adddot}}, + byeditorcofo = {{editov\'{a}no a komentov\'{a}no, s\addnbspace p\v{r}edmluvou}% + {ed\adddotspace a kom., s\addnbspace p\v{r}edml\adddot}}, + byeditorcoaf = {{editov\'{a}no a komentov\'{a}no, s\addnbspace doslovem}% + {ed\adddotspace a kom., s\addnbspace dosl\adddot}}, + byeditoranin = {{editov\'{a}no a anotov\'{a}no, s\addnbspace \'{u}vodem}% + {ed\adddotspace a anot., s\addnbspace \'{u}v\adddot}}, + byeditoranfo = {{editov\'{a}no a anotov\'{a}no, s\addnbspace p\v{r}edmluvou}% + {ed\adddotspace a anot., s\addnbspace p\v{r}edml\adddot}}, + byeditoranaf = {{editov\'{a}no a anotov\'{a}no, s\addnbspace doslovem}% + {ed\adddotspace a anot., s\addnbspace dosl\adddot}}, + byeditortrcoin = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no, s\addnbspace \'{u}vodem}% + {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s\addnbspace \'{u}v\adddot}}, + byeditortrcofo = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no, s\addnbspace p\v{r}edmluvou }% + {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s\addnbspace p\v{r}edml\adddot}}, + byeditortrcoaf = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no, s\addnbspace doslovem}% + {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s\addnbspace dosl\adddot}}, + byeditortranin = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s\addnbspace \'{u}vodem}% + {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a anot\adddot, s\addnbspace \'{u}v\adddot}}, + byeditortranfo = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s\addnbspace p\v{r}edmluvou}% + {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a anot., s\addnbspace p\v{r}edml\adddot}}, + byeditortranaf = {{editov\'{a}no, p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s\addnbspace doslovem}% + {ed.,\addabbrvspace p\v{r}el\adddot\ \lbx@sfromlang\ a anot., s\addnbspace dosl\adddot}}, bytranslatorco = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no}% - {p\v{r}el\adddot\ \lbx@sfromlang\ a kom\adddot\ }}, + {p\v{r}el\adddot\ \lbx@sfromlang\ a kom\adddot}}, bytranslatoran = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no}% - {p\v{r}el\adddot\ \lbx@sfromlang\ a anot\adddot\ }}, - bytranslatorin = {{p\v{r}elo\v{z}eno \lbx@lfromlang, s \'{u}vodem}% - {p\v{r}el\adddot\ \lbx@sfromlang, s \'{u}vodem}}, - bytranslatorfo = {{p\v{r}elo\v{z}eno \lbx@lfromlang, s p\v{r}edmluvou}% - {p\v{r}el\adddot\ \lbx@sfromlang, s p\v{r}edml\adddot}}, - bytranslatoraf = {{p\v{r}elo\v{z}eno \lbx@lfromlang, s doslovem}% - {p\v{r}el\adddot\ \lbx@sfromlang, s dosl\adddot}}, - bytranslatorcoin = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no, s \'{u}vodem}% - {p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s \'{u}vodem}}, - bytranslatorcofo = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no, s p\v{r}edmluvou}% - {p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s p\v{r}edml\adddot}}, - bytranslatorcoaf = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}ns doslovem}% - {p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s dosl\adddot}}, - bytranslatoranin = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s \'{u}vodem}% - {p\v{r}el\adddot\ \lbx@sfromlang\ a anot., s \'{u}vodem}}, - bytranslatoranfo = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s p\v{r}edmluvou}% - {p\v{r}el\adddot\ \lbx@sfromlang\ a anot., s p\v{r}edml\adddot}}, - bytranslatoranaf = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s doslovem}% - {p\v{r}el\adddot\ \lbx@sfromlang\ a anot., s dosl\adddot}}, + {p\v{r}el\adddot\ \lbx@sfromlang\ a anot\adddot}}, + bytranslatorin = {{p\v{r}elo\v{z}eno \lbx@lfromlang, s\addnbspace \'{u}vodem}% + {p\v{r}el\adddot\ \lbx@sfromlang, s\addnbspace \'{u}v\adddot}}, + bytranslatorfo = {{p\v{r}elo\v{z}eno \lbx@lfromlang, s\addnbspace p\v{r}edmluvou}% + {p\v{r}el\adddot\ \lbx@sfromlang, s\addnbspace p\v{r}edml\adddot}}, + bytranslatoraf = {{p\v{r}elo\v{z}eno \lbx@lfromlang, s\addnbspace doslovem}% + {p\v{r}el\adddot\ \lbx@sfromlang, s\addnbspace dosl\adddot}}, + bytranslatorcoin = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no, s\addnbspace \'{u}vodem}% + {p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s\addnbspace \'{u}v\adddot}}, + bytranslatorcofo = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no, s\addnbspace p\v{r}edmluvou}% + {p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s\addnbspace p\v{r}edml\adddot}}, + bytranslatorcoaf = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a komentov\'{a}no, s\addnbspace doslovem}% + {p\v{r}el\adddot\ \lbx@sfromlang\ a kom., s\addnbspace dosl\adddot}}, + bytranslatoranin = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s\addnbspace \'{u}vodem}% + {p\v{r}el\adddot\ \lbx@sfromlang\ a anot., s\addnbspace \'{u}v\adddot}}, + bytranslatoranfo = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s\addnbspace p\v{r}edmluvou}% + {p\v{r}el\adddot\ \lbx@sfromlang\ a anot., s\addnbspace p\v{r}edml\adddot}}, + bytranslatoranaf = {{p\v{r}elo\v{z}eno \lbx@lfromlang\ a anotov\'{a}no, s\addnbspace doslovem}% + {p\v{r}el\adddot\ \lbx@sfromlang\ a anot., s\addnbspace dosl\adddot}}, and = {{a}{a}}, andothers = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, andmore = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, volume = {{svazek}{sv\adddot}}, volumes = {{svazky}{sv\adddot}}, involumes = {{in}{in}}, - jourvol = {{ro\v{c}n\'ik}{ro\v{c}\adddot}}, - jourser = {{\v{r}ada}{\v{r}\adddot}},% m\r{u}\v{z}e b\'{a}t t\'{e}\v{z} s\'{e}rie, ale \v{r}ada zn\'{i} l\'{e}pe + jourvol = {{ro\v{c}n\'{\i}k}{ro\v{c}\adddot}}, + jourser = {{\v{r}ada}{\v{r}\adddot}},% FIXME: s\'{e}rie ? book = {{kniha}{kniha}}, part = {{\v{c}\'{a}st}{\v{c}\'{a}st}}, - issue = {{\v{c}\'{i}slo}{\v{c}\'{i}slo}}, - newseries = {{nov\'{a} \v{r}ada}{n. \v{r}ada\adddot}},% FIXME: unsure - oldseries = {{star\'{a} \v{r}ada}{st. \v{r}ada\adddot}}, - edition = {{vyd\'{a}n\'{i}}{vyd\adddot}}, - reprint = {{reprint}{repr\adddot}}, - reprintof = {{reprint}{repr\adddotspace}}, - reprintas = {{reprintov\'{a}no jako}{repr\adddotspace jako}}, - reprintfrom = {{reprintov\'{a}no z}{repr\adddotspace z}}, - reviewof = {{review of}{rev\adddotspace of}}, - translationof = {{p\v{r}eklad}{p\v{r}ekl\adddotspace}}, + issue = {{\v{c}\'{\i}slo}{\v{c}\'{\i}slo}}, + newseries = {{nov\'{a} \v{r}ada}{n\adddotspace \v{r}ada\adddot}},% FIXME: unsure + oldseries = {{star\'{a} \v{r}ada}{st\adddotspace \v{r}ada\adddot}}, + edition = {{vyd\'{a}n\'{\i}}{vyd\adddot}}, + reprint = {{dotisk}{dotisk}}, + reprintof = {{dotisk}{dotisk}}, + reprintas = {{dotisknuto jako}{dotisknuto jako}}, + reprintfrom = {{dotisknuto z\addnbspace}{dotisknuto z\addnbspace}}, + reviewof = {{recenze}{recenz\adddot}}, + translationof = {{p\v{r}eklad}{p\v{r}ekl\adddot}}, translationas = {{p\v{r}elo\v{z}eno jako}{p\v{r}el\adddotspace jako}}, - translationfrom = {{p\v{r}elo\v{z}eno z}{p\v{r}el\adddotspace}}, + translationfrom = {{p\v{r}elo\v{z}eno z\addnbspace}{p\v{r}el\adddotspace z\addnbspace}}, origpubas = {{p\r{u}vodn\v{e} vyd\'{a}no jako}{p\r{u}v\adddotspace vyd\adddotspace jako}}, - origpubin = {{p\r{u}vodn\v{e} vyd\'{a}no v}{p\r{u}v\adddotspace vyd\adddotspace v}}, - astitle = {{jako}{as}}, - bypublisher = {{od}{od}},% nejist\'{e} - nodate = {{n\adddot d\adddot}{n\adddot d\adddot}},%FIXME + origpubin = {{p\r{u}vodn\v{e} vyd\'{a}no v\addnbspace roce}{p\r{u}v\adddotspace vyd\adddotspace v\addnbspace r\adddot}}, + astitle = {{jako}{jako}}, + bypublisher = {{}{}}, + nodate = {{nedatov\'{a}no}{b\adddot r\adddot}},% bez roku page = {{strana}{s\adddot}}, pages = {{strany}{s\adddot}}, - column = {{sloupek}{sl\adddot}},% nebo sloupec? + column = {{sloupec}{sl\adddot}}, columns = {{sloupce}{sl\adddot}}, line = {{\v{r}\'{a}dek}{\v{r}\adddot}}, lines = {{\v{r}\'{a}dky}{\v{r}\adddot}}, @@ -313,46 +367,45 @@ sections = {{sekce}{\S\S}}, paragraph = {{odstavec}{ods\adddot}}, paragraphs = {{odstavce}{ods\adddot}}, -% pagetotal = {{}{}},% FIXME: missing -% pagetotals = {{}{}},% FIXME: missing -% columntotal = {{}{}},% FIXME: missing -% columntotals = {{}{}},% FIXME: missing -% linetotal = {{}{}},% FIXME: missing -% linetotals = {{}{}},% FIXME: missing -% versetotal = {{}{}},% FIXME: missing -% versetotals = {{}{}},% FIXME: missing -% sectiontotal = {{}{}},% FIXME: missing -% sectiontotals = {{}{}},% FIXME: missing -% paragraphtotal = {{}{}},% FIXME: missing -% paragraphtotals = {{}{}},% FIXME: missing - in = {{in}{in}},% Pouziti napriklad u sborniku nebo - inseries = {{in}{in}},% casopisu, zni to lip new "v". - % V pripade potreby pouzit lokalni lbx soubor - ofseries = {{z}{z}},% taky prostor pro lokalni lbx - number = {{\v{c}\'{i}slo}{\v{c}\adddot}}, + pagetotal = {{strana}{s\adddot}}, + pagetotals = {{strany}{s\adddot}}, + columntotal = {{sloupec}{sl\adddot}}, + columntotals = {{sloupce}{sl\adddot}}, + linetotal = {{\v{r}\'{a}dek}{\v{r}\adddot}}, + linetotals = {{\v{r}\'{a}dky}{\v{r}\adddot}}, + versetotal = {{ver\v{s}}{v\adddot}}, + versetotals = {{ver\v{s}e}{v\adddot}}, + sectiontotal = {{sekce}{\S}}, + sectiontotals = {{sekce}{\S\S}}, + paragraphtotal = {{odstavec}{ods\adddot}}, + paragraphtotals = {{odstavce}{ods\adddot}}, + in = {{in}{in}}, + inseries = {{in}{in}}, + ofseries = {{z}{z}}, + number = {{\v{c}\'{\i}slo}{\v{c}\adddot}}, chapter = {{kapitola}{kap\adddot}}, -% bathesis = {{}{}},% FIXME: missing - mathesis = {{diplomov\'{a} pr\'{a}ce}{dipl\addabbrvspace}}, - phdthesis = {{diserta\v{c}n\'{i}\addabbrvspace pr\'{a}ce}{dis\addabbrvspace}}, - candthesis = {{kandid\'{a}tsk\'{a} pr\'{a}ce}{kand\adddotspace pr\adddotspace}},% mozna, + bathesis = {{bakal\'{a}\v{r}sk\'{a} pr\'{a}ce}{bak\adddotspace pr\adddot}}, + mathesis = {{diplomov\'{a} pr\'{a}ce}{dipl\adddotspace pr\adddot}}, + phdthesis = {{diserta\v{c}n\'{\i} pr\'{a}ce}{dis\adddotspace pr\adddot}}, + candthesis = {{kandid\'{a}tsk\'{a} pr\'{a}ce}{kand\adddotspace pr\adddot}},% FIXME: unsure resreport = {{v\'{y}zkumn\'{a} zpr\'{a}va}{v\'{y}zk\adddot\ zpr\adddot}}, techreport = {{technick\'{a} zpr\'{a}va}{tech\adddotspace zpr\adddot}}, - software = {{po\v{c}\'{i}ta\v{c}ov\'{y} software}{soft\adddot}}, + software = {{po\v{c}\'{\i}ta\v{c}ov\'{y} software}{soft\adddot}}, datacd = {{CD-ROM}{CD-ROM}}, audiocd = {{audio CD}{audio CD}}, - version = {{verze}{ver\adddotspace}}, - url = {{dostupn\'y z WWW}{WWW}}, -% urlfrom = {{}{}},% FIXME: missing - urlseen = {{citov\'ano}{cit\adddot}}, - inpreparation = {{v p\v{r}\'{i}prav\v{e}}{v p\v{r}\'{i}prav\v{e}}}, - submitted = {{odesl\'{a}no}{odes\adddotspace}}, - forthcoming = {{budouc\'{i}}{bud\adddotspace}}, - inpress = {{v tisku}{v tisku}}, - prepublished = {{p\v{r}ed publikov\'{a}n\'{i}m}{p\v{r}ed \adddotspace}}, - citedas = {{d\'{a}le citov\'{a}no jako}{d\'{a}le citov\'{a}no jako}}, + version = {{verze}{ver\adddot}}, + url = {{URL}{URL}}, + urlfrom = {{dostupn\'{e} z\addnbspace}{dostupn\'{e} z\addnbspace}}, + urlseen = {{citov\'{a}no}{cit\adddot}}, + inpreparation = {{v\addnbspace p\v{r}\'{\i}prav\v{e}}{v\addnbspace p\v{r}\'{\i}prav\v{e}}}, + submitted = {{odesl\'{a}no}{odesl\adddot}}, + forthcoming = {{budouc\'{\i}}{bud\adddot}}, + inpress = {{v\addnbspace tisku}{v\addnbspace tisku}}, + prepublished = {{p\v{r}ed publikov\'{a}n\'{\i}m}{p\v{r}ed publ\adddot}}, + citedas = {{d\'{a}le citov\'{a}no jako}{d\'{a}le cit\adddotspace jako}}, thiscite = {{zvl\'{a}\v{s}t\v{e}}{zvl\adddot}}, - seenote = {{viz pozn\'{a}mka}{viz poz\adddot}}, - quotedin = {{citov\'{a}no v}{cit\adddotspace v}}, + seenote = {{viz pozn\'{a}mka}{viz pozn\adddot}}, + quotedin = {{citov\'{a}no v\addnbspace}{cit\adddotspace v\addnbspace}}, idem = {{idem}{idem}}, idemsm = {{idem}{idem}}, idemsf = {{eadem}{eadem}}, @@ -370,105 +423,113 @@ passim = {{passim}{pass\adddot}}, see = {{viz}{viz}}, seealso = {{viz t\'{e}\v{z}}{viz t\'{e}\v{z}}}, - backrefpage = {{citov\'{a}no na stran\v{e}}{cit\adddotspace na s\adddot}}, + backrefpage = {{citov\'{a}no na stran\v{e}}{cit\adddotspace na str\adddot}}, backrefpages = {{citov\'{a}no na stran\'{a}ch}{cit\adddotspace na s\adddot}}, - january = {{ledna}{led\adddot}}, - february = {{\'{u}nora}{\'{u}n\adddot}}, - march = {{b\v{r}ezna}{b\v{r}ez\adddot}}, - april = {{dubna}{dub\adddot}}, - may = {{kvetna}{kv\v{e}t\adddot}}, - june = {{\v{c}ervna}{\v{c}erv\adddot}}, - july = {{\v{c}ervence}{\v{c}vc}}, - august = {{srpna}{srp\adddot}}, - september = {{z\'{a}\v{r}\'{i}}{z\'{a}\v{r}\adddot}}, - october = {{\v{r}\'{i}jna}{\v{r}\'{i}j\adddot}}, - november = {{listopadu}{lis\adddot}}, - december = {{prosince}{pros\adddot}}, - langamerican = {{americk\'{a} angli\v{c}tina}{am\adddot angl\adddot}}, - langbrazilian = {{brazilsk\'{a} portugal\v{s}tina}{braz\adddot portugal\adddot}}, -% langbulgarian = {{}{}},% FIXME: missing -% langcatalan = {{}{}},% FIXME: missing + january = {{leden}{led\adddot}}, + february = {{\'{u}nor}{\'{u}n\adddot}}, + march = {{b\v{r}ezen}{b\v{r}ez\adddot}}, + april = {{duben}{dub\adddot}}, + may = {{kv\v{e}ten}{kv\v{e}t\adddot}}, + june = {{\v{c}erven}{\v{c}vn\adddot}}, + july = {{\v{c}ervenec}{\v{c}vc\adddot}}, + august = {{srpen}{srp\adddot}}, + september = {{z\'{a}\v{r}\'{\i}}{z\'{a}\v{r}\adddot}}, + october = {{\v{r}\'{\i}jen}{\v{r}\'{\i}j\adddot}}, + november = {{listopad}{lis\adddot}}, + december = {{prosinec}{pros\adddot}}, + langamerican = {{americk\'{a} angli\v{c}tina}{am\adddot\ angl\adddot}}, + langbrazilian = {{brazilsk\'{a} portugal\v{s}tina}{braz\adddot\ portugal\adddot}}, + langbulgarian = {{bulhar\v{s}tina}{bulh\adddot}}, + langcatalan = {{katal\'{a}n\v{s}tina}{katal\adddot}}, langcroatian = {{chorvat\v{s}tina}{chorv\adddot}}, -% langczech = {{}{}},% FIXME: missing + langczech = {{\v{c}e\v{s}tina}{\v{c}e\v{s}tina}}, langdanish = {{d\'{a}n\v{s}tina}{d\'{a}n\adddot}}, - langdutch = {{holand\v{s}tina}{hol.\adddot}}, + langdutch = {{holand\v{s}tina}{hol\adddot}}, langenglish = {{angli\v{c}tina}{angl\adddot}}, -% langestonian = {{}{}},% FIXME: missing + langestonian = {{eston\v{s}tina}{est\adddot}}, langfinnish = {{fin\v{s}tina}{fin\adddot}}, langfrench = {{francouz\v{s}tina}{franc\adddot}}, langgalician = {{galicij\v{s}tina}{gal\adddot}}, langgerman = {{n\v{e}m\v{c}ina}{n\v{e}m\adddot}}, langgreek = {{\v{r}e\v{c}tina}{\v{r}e\v{c}\adddot}}, -% langhungarian = {{}{}}, % FIXME: missing + langhungarian = {{ma\v{d}ar\v{s}tina}{ma\v{d}\adddot}}, langitalian = {{ital\v{s}tina}{ital\adddot}}, + langjapanese = {{japon\v{s}tina}{jap\adddot}}, langlatin = {{latina}{lat\adddot}}, -% langlatvian = {{}{}},% FIXME: missing - langnorwegian = {{nor\v{s}tina}{nor\v{s}\adddot}}, -% langpolish = {{}{}},% FIXME: missing - langportuguese = {{portugal\v{s}tina}{port\adddot}}, -% langslovak = {{}{}},% FIXME: missing -% langslovene = {{}{}},% FIXME: missing + langlatvian = {{loty\v{s}tina}{lot\adddot}}, + langnorwegian = {{nor\v{s}tina}{nor\adddot}}, + langpolish = {{pol\v{s}tina}{pol\adddot}}, + langportuguese = {{portugal\v{s}tina}{portugal\adddot}}, + langrussian = {{ru\v{s}tina}{ru\v{s}tina}}, + langserbian = {{srb\v{s}tina}{srb\adddot}}, + langslovak = {{sloven\v{s}tina}{sloven\v{s}tina}}, + langslovene = {{slovin\v{s}tina}{slovin\v{s}tina}}, langspanish = {{\v{s}pan\v{e}l\v{s}tina}{\v{s}pa\v{n}\adddot}}, langswedish = {{\v{s}v\'{e}d\v{s}tina}{\v{s}v\'{e}d\adddot}}, - fromamerican = {{z americk\'{e} angli\v{c}tiny}{z amer\adddot angl\adddot}}, - frombrazilian = {{z brazilsk\'{e} portugal\v{s}tiny}{z braz\adddotspace port\adddot}}, -% frombulgarian = {{}{}},% FIXME: missing -% fromcatalan = {{}{}},% FIXME: missing - fromcroatian = {{z chorvat\v{s}tiny}{z chorv.}}, -% fromczech = {{}{}},% FIXME: missing - 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}}, - fromgalician = {{z galicij\v{s}tiny}{z gal\adddot}}, - fromgerman = {{z n\v{e}m\v{c}iny}{z n\v{e}m\adddot}}, - fromgreek = {{z \v{r}e\v{c}tiny}{z \v{r}e\v{c}\adddot}}, -% fromhungarian = {{}{}}, % FIXME: missing - fromitalian = {{z ital\v{s}tiny}{z ital\adddot}}, - fromlatin = {{z latiny}{z lat\adddot}}, -% fromlatvian = {{}{}},% FIXME: missing - fromnorwegian = {{z nor\v{s}tiny}{z nor\adddot}}, -% frompolish = {{}{}},% FIXME: missing - fromportuguese = {{z portugal\v{s}tiny}{z portugal\v{s}tiny}}, -% fromslovak = {{}{}},% FIXME: missing -% fromslovene = {{}{}},% FIXME: missing + langukrainian = {{ukrajin\v{s}tina}{ukr\adddot}}, + fromamerican = {{z\addnbspace americk\'{e} angli\v{c}tiny}{z\addnbspace amer\adddot\ angl\adddot}}, + frombrazilian = {{z\addnbspace brazilsk\'{e} portugal\v{s}tiny}{z\addnbspace braz\adddotspace portugal\adddot}}, + frombulgarian = {{z\addnbspace bulhar\v{s}tiny}{z\addnbspace bulh\adddot}}, + fromcatalan = {{z\addnbspace katal\'{a}n\v{s}tiny}{z\addnbspace katal\adddot}}, + fromcroatian = {{z\addnbspace chorvat\v{s}tiny}{z\addnbspace chorv\adddot}}, + fromczech = {{z\addnbspace \v{c}e\v{s}tiny}{z\addnbspace \v{c}e\v{s}tiny}}, + fromdanish = {{z\addnbspace d\'{a}n\v{s}tiny}{z\addnbspace d\'{a}n\adddot}}, + fromdutch = {{z\addnbspace holand\v{s}tiny}{z\addnbspace hol\adddot}}, + fromenglish = {{z\addnbspace angli\v{c}tiny}{z\addnbspace angl\adddot}}, + fromestonian = {{z\addnbspace eston\v{s}tiny}{z\addnbspace est\adddot}}, + fromfinnish = {{z\addnbspace fin\v{s}tiny}{z\addnbspace fin\adddot}}, + fromfrench = {{z\addnbspace francouz\v{s}tiny}{z\addnbspace franc\adddot}}, + fromgalician = {{z\addnbspace galicij\v{s}tiny}{z\addnbspace gal\adddot}}, + fromgerman = {{z\addnbspace n\v{e}m\v{c}iny}{z\addnbspace n\v{e}m\adddot}}, + fromgreek = {{z\addnbspace \v{r}e\v{c}tiny}{z\addnbspace \v{r}e\v{c}\adddot}}, + fromhungarian = {{z\addnbspace ma\v{d}ar\v{s}tiny}{z\addnbspace ma\v{d}\adddot}}, + fromitalian = {{z\addnbspace ital\v{s}tiny}{z\addnbspace ital\adddot}}, + fromjapanese = {{z\addnbspace japon\v{s}tiny}{z\addnbspace jap\adddot}}, + fromlatin = {{z\addnbspace latiny}{z\addnbspace lat\adddot}}, + fromlatvian = {{z\addnbspace loty\v{s}tiny}{z\addnbspace lot\adddot}}, + fromnorwegian = {{z\addnbspace nor\v{s}tiny}{z\addnbspace nor\adddot}}, + frompolish = {{z\addnbspace pol\v{s}tiny}{z\addnbspace pol\adddot}}, + fromportuguese = {{z\addnbspace portugal\v{s}tiny}{z\addnbspace portugal\adddot}}, + fromrussian = {{z\addnbspace ru\v{s}tiny}{z\addnbspace ru\v{s}tiny}}, + fromserbian = {{zo srb\v{s}tiny}{zo srb\adddot}}, + fromslovak = {{ze sloven\v{s}tiny}{ze sloven\v{s}tiny}}, + fromslovene = {{ze slovin\v{s}tiny}{ze slovin\v{s}tiny}}, fromspanish = {{ze \v{s}pan\v{e}l\v{s}tiny}{ze \v{s}pa\v{n}\adddot}}, fromswedish = {{ze \v{s}v\'{e}d\v{s}tiny}{ze \v{s}v\'{e}d\adddot}}, + fromukrainian = {{z\addnbspace ukrajin\v{s}tiny}{z\addnbspace ukr\adddot}}, countryde = {{N\v{e}mecko}{DE}}, countryeu = {{Evropsk\'{a} unie}{EU}}, countryep = {{Evropsk\'{a} unie}{EP}}, countryfr = {{Francie}{FR}}, countryuk = {{Velk\'{a} Brit\'{a}nie}{GB}}, - countryus = {{Spojen\'{e} St\'{a}ty Americk\'{e}}{US}}, + countryus = {{Spojen\'{e} st\'{a}ty americk\'{e}}{US}}, patent = {{patent}{pat\adddot}}, patentde = {{n\v{e}meck\'{y} patent}{n\v{e}m\adddot\ pat\adddot}}, patenteu = {{evropsk\'{y} patent}{evr\adddot\ pat\adddot}}, patentfr = {{francouzsk\'{y} patent}{franc\adddot\ pat\adddot}}, - patentuk = {{britsk\'{y} patent}{britsk\'{y} pat\adddot}}, - patentus = {{americk\'{y} patent}{US\adddotspace pat\adddot}}, + patentuk = {{britsk\'{y} patent}{brit\adddot\ pat\adddot}}, + patentus = {{US patent}{US pat\adddot}}, patreq = {{patentov\'{a} \v{z}\'{a}dost}{pat\adddot\ \v{z}\'{a}d\adddot}}, patreqde = {{n\v{e}meck\'{a} patentov\'{a} \v{z}\'{a}dost}{n\v{e}meck\'{a} pat\adddot\ \v{z}\'{a}d\adddot}}, - patreqeu = {{evropsk\'{a} patentov\'{a} \v{z}\'{a}dost}{ev\adddot\ pat\adddot\ \v{z}\'{a}d\adddot}}, + patreqeu = {{evropsk\'{a} patentov\'{a} \v{z}\'{a}dost}{evr\adddot\ pat\adddot\ \v{z}\'{a}d\adddot}}, patreqfr = {{francouzsk\'{a} patentov\'{a} \v{z}\'{a}dost}{franc\adddot\ pat\adddot\ \v{z}\'{a}d\adddot}}, patrequk = {{britsk\'{a} patentov\'{a} \v{z}\'{a}dost}{brit\adddot\ pat\adddot\ \v{z}\'{a}d\adddot}}, - patrequs = {{US\adddotspace patentov\'{a} \v{z}\'{a}dost}{US\adddotspace pat\adddot\ \v{z}\'{a}d\adddot}}, + patrequs = {{US patentov\'{a} \v{z}\'{a}dost}{US pat\adddot\ \v{z}\'{a}d\adddot}}, file = {{soubor}{soub\adddot}}, 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}}, + commonera = {{n\'{a}\v{s} letopo\v{c}et}{n\adddotspace l\adddot}}, + beforecommonera = {{p\v{r}ed na\v{s}\'{\i}m letopo\v{c}tem}{p\v{r}\adddotspace n\adddotspace l\adddot}}, + annodomini = {{po Kristu}{po Kr\adddot}}, + beforechrist = {{p\v{r}ed Kristem}{p\v{r}\adddotspace Kr\adddot}}, + circa = {{cirka}{ca\adddot}}, + spring = {{jaro}{jaro}}, + summer = {{l\'{e}to}{l\'{e}to}}, + autumn = {{podzim}{podzim}}, + winter = {{zima}{zima}}, + am = {{AM}{AM}}, + pm = {{PM}{PM}}, } \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx index 2c57242bd92..2b360a0c0ca 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx @@ -36,13 +36,17 @@ {\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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% @@ -245,7 +249,7 @@ byreviewer = {{bed\o mt af}{bed\adddotspace af}}, byfounder = {{stiftet af}{stiftet af}}, bycontinuator = {{videref\o rt af}{videref\adddotspace af}}, - bycollaborator = {{i samarbejde med}{i samarb\adddotspace m\adddotspace}}, + bycollaborator = {{i samarbejde med}{i samarb\adddotspace m\adddot}}, bytranslator = {{oversat \lbx@lfromlang\ af}% {overs\adddot \lbx@sfromlang\ af}}, bycommentator = {{kommenteret af}{komm\adddot\ af}}, diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx index 6d6822fd729..880c0643dc3 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx @@ -57,13 +57,17 @@ {\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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% @@ -474,14 +478,17 @@ langjapanese = {{Japaans}{Japaans}}, langlatin = {{Latijn}{Latijn}}, langlatvian = {{Lets}{Lets}}, + langlithuanian = {{Litouws}{Litouws}}, langnorwegian = {{Noors}{Noors}}, langpolish = {{Pools}{Pools}}, langportuguese = {{Portugees}{Portugees}}, langrussian = {{Russisch}{Russisch}}, + langserbian = {{Servisch}{Servisch}}, langslovak = {{Slowaaks}{Slowaaks}},% FIXME: or Slovaaks langslovene = {{Sloveens}{Sloveens}}, langspanish = {{Spaans}{Spaans}}, langswedish = {{Zweeds}{Zweeds}}, + langturkish = {{Turks}{Turks}}, langukrainian = {{Oekra\"iens}{Oekra\"iens}}, fromamerican = {{uit het Amerikaans Engels}{uit het Amerikaans Engels}}, frombrazilian = {{uit het Braziliaans Portugees}{uit het Braziliaans Portugees}}, @@ -503,14 +510,17 @@ fromjapanese = {{uit het Japaans}{uit het Japaans}}, fromlatin = {{uit het Latijn}{uit het Latijn}}, fromlatvian = {{uit het Lets}{uit het Lets}}, + fromlithuanian = {{uit het Litouws}{uit het Litouws}}, fromnorwegian = {{uit het Noors}{uit het Noors}}, frompolish = {{uit het Pools}{uit het Pools}}, fromportuguese = {{uit het Portugees}{uit het Portugees}}, fromrussian = {{uit het Russisch}{uit het Russisch}}, + fromserbian = {{uit het Servisch}{uit het Servisch}}, fromslovak = {{uit het Slowaaks}{uit het Slowaaks}},% FIXME: or Slovaaks fromslovene = {{uit het Sloveens}{uit het Sloveens}}, fromspanish = {{uit het Spaans}{uit het Spaans}}, fromswedish = {{uit het Zweeds}{uit het Zweeds}}, + fromturkish = {{uit het Turks}{uit het Turks}}, fromukrainian = {{uit het Oekra\"iens}{uit het Oekra\"iens}}, countryde = {{Duitsland}{DE}}, countryeu = {{Europese Unie}{EU}}, diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx index 109014dafb3..1ade8c7f814 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx @@ -50,13 +50,17 @@ canadian,australian,newzealand,USenglish,UKenglish} {\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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% @@ -329,11 +333,11 @@ canadian,australian,newzealand,USenglish,UKenglish} byeditortrcoaf = {{edited, translated \lbx@lfromlang\finalandcomma\ and commented, with an afterword, by}% {ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and comm., with an afterw., by}}, byeditortranin = {{edited, translated \lbx@lfromlang\finalandcomma\ and annotated, with an introduction, by}% - {ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and annot, with an introd., by}}, + {ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and annot., with an introd., by}}, byeditortranfo = {{edited, translated \lbx@lfromlang\finalandcomma\ and annotated, with a foreword, by}% - {ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and annot, with a forew., by}}, + {ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and annot., with a forew., by}}, byeditortranaf = {{edited, translated \lbx@lfromlang\finalandcomma\ and annotated, with an afterword, by}% - {ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and annot, with an afterw., by}}, + {ed.,\addabbrvspace trans\adddot\ \lbx@sfromlang\finalandcomma\ and annot., with an afterw., by}}, bytranslatorco = {{translated \lbx@lfromlang\ and commented by}% {trans\adddot\ \lbx@sfromlang\ and comm\adddot\ by}}, bytranslatoran = {{translated \lbx@lfromlang\ and annotated by}% @@ -485,14 +489,17 @@ canadian,australian,newzealand,USenglish,UKenglish} langjapanese = {{Japanese}{Japanese}}, langlatin = {{Latin}{Latin}}, langlatvian = {{Latvian}{Latvian}}, + langlithuanian = {{Lithuanian}{Lithuanian}}, langnorwegian = {{Norwegian}{Norwegian}}, langpolish = {{Polish}{Polish}}, langportuguese = {{Portuguese}{Portuguese}}, langrussian = {{Russian}{Russian}}, + langserbian = {{Serbian}{Serbian}}, langslovak = {{Slovak}{Slovak}}, langslovene = {{Slovene}{Slovene}}, langspanish = {{Spanish}{Spanish}}, langswedish = {{Swedish}{Swedish}}, + langturkish = {{Turkish}{Turkish}}, langukrainian = {{Ukrainian}{Ukrainian}}, fromamerican = {{from the American}{from the American}}, frombrazilian = {{from the Brazilian}{from the Brazilian}}, @@ -514,14 +521,17 @@ canadian,australian,newzealand,USenglish,UKenglish} fromjapanese = {{from the Japanese}{from the Japanese}}, fromlatin = {{from the Latin}{from the Latin}}, fromlatvian = {{from the Latvian}{from the Latvian}}, + fromlithuanian = {{from the Lithuanian}{from the Lithuanian}}, fromnorwegian = {{from the Norwegian}{from the Norwegian}}, frompolish = {{from the Polish}{from the Polish}}, fromportuguese = {{from the Portuguese}{from the Portuguese}}, fromrussian = {{from the Russian}{from the Russian}}, + fromserbian = {{from the Serbian}{from the Serbian}}, fromslovak = {{from the Slovak}{from the Slovak}}, fromslovene = {{from the Slovene}{from the Slovene}}, fromspanish = {{from the Spanish}{from the Spanish}}, fromswedish = {{from the Swedish}{from the Swedish}}, + fromturkish = {{from the Turkish}{from the Turkish}}, fromukrainian = {{from the Ukrainian}{from the Ukrainian}}, countryde = {{Germany}{DE}}, countryeu = {{European Union}{EU}}, @@ -568,7 +578,7 @@ canadian,australian,newzealand,USenglish,UKenglish} \blx@metadateinfo{#2}% \iffieldundef{#2year} {\blx@nounit} - {\printtext[#2date]{% + {\printtext[{#2date}]{% \datecircaprint \iffieldundef{#2season} {\ifdateyearsequal{#2}{#2end} @@ -607,7 +617,7 @@ canadian,australian,newzealand,USenglish,UKenglish} \blx@metadateinfo{#2}% \iffieldundef{#2year} {\blx@nounit} - {\printtext[#2date]{% + {\printtext[{#2date}]{% \datecircaprint \iffieldundef{#2season} {\ifdateyearsequal{#2}{#2end} @@ -637,12 +647,12 @@ canadian,australian,newzealand,USenglish,UKenglish} {\mkdaterangefullextra{#1}{#2}} {\lbx@us@mkdaterangetruncextra@long@i{#1}{#2}}} -\protected\gdef\lbx@us@mkdaterangetruncextra@long#1#2{% +\protected\gdef\lbx@us@mkdaterangetruncextra@long@i#1#2{% \begingroup \blx@metadateinfo{#2}% \iffieldundef{#2year} {\blx@nounit} - {\printtext[#2date]{% + {\printtext[{#2date}]{% \datecircaprint \iffieldundef{#2season} {\ifdateyearsequal{#2}{#2end} @@ -678,12 +688,12 @@ canadian,australian,newzealand,USenglish,UKenglish} {\mkdaterangefullextra{#1}{#2}} {\lbx@us@mkdaterangetruncextra@short@i{#1}{#2}}} -\protected\gdef\lbx@us@mkdaterangetruncextra@short#1#2{% +\protected\gdef\lbx@us@mkdaterangetruncextra@short@i#1#2{% \begingroup \blx@metadateinfo{#2}% \iffieldundef{#2year} {\blx@nounit} - {\printtext[#2date]{% + {\printtext[{#2date}]{% \datecircaprint \iffieldundef{#2season} {\ifdateyearsequal{#2}{#2end} diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx index 2b0b32f1152..07b58d529de 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx @@ -56,17 +56,22 @@ {\printlist[sfromoriglanguage]{origlanguage}\space}}% \savebibmacro{in:}% \renewbibmacro{in:}{% - \iffieldequalstr{entrytype}{article} + \ifentrytype{article} {} - {\printtext{\bibstring{in}\intitlepunct}}}% + {\bibstring{in}% + \printunit{\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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% @@ -276,7 +281,7 @@ byfounder = {{asutanud}{asutanud}}, bycontinuator = {{j\"{a}tkanud}{j\"{a}tkanud}}, bycollaborator = {{koost\"{o}\"{o}s}{koost\"{o}\"{o}s}}, - bytranslator = {{\lbx@lfromlang t\~{o}lkinud}{\lbx@sfromlang t\~{o}lk\adddotspace}}, + bytranslator = {{\lbx@lfromlang t\~{o}lkinud}{\lbx@sfromlang t\~{o}lk\adddot}}, bycommentator = {{kommenteerinud}{kommenteerinud}}, byannotator = {{kommenteerinud}{kommenteerinud}},% FIXME: unsure withcommentator = {{koos kommentaaridega}{koos kommentaaridega}},% FIXME: commentator name should be in the middle diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx index 372b537d97d..99db65676da 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx @@ -75,17 +75,22 @@ {\printlist[sfromoriglanguage]{origlanguage}\space}}% \savebibmacro{in:}% \renewbibmacro{in:}{% - \iffieldequalstr{entrytype}{article} + \ifentrytype{article} {} - {\printtext{\bibstring{in}\intitlepunct}}}% + {\bibstring{in}% + \printunit{\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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx index 31f436e1dfb..d2e441b66ea 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx @@ -1,8 +1,6 @@ \ProvidesFile{french.lbx} [\abx@lbxid] -% Translations by non-native speaker: this file needs an overhaul! - \DeclareRedundantLanguages{french}{french} \DeclareBibliographyExtras{% @@ -66,13 +64,17 @@ \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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% @@ -110,7 +112,7 @@ \DeclareBibliographyStrings{% bibliography = {{Bibliographie}{Bibliographie}}, references = {{R\'ef\'erences}{R\'ef\'erences}}, - shorthands = {{Liste des sigles}{Sigles}}, + shorthands = {{Liste des abr\'eviations}{Abr\'eviations}}, editor = {{\'editeur}{\'ed\adddot}}, editors = {{\'editeurs}{\'ed\adddot}}, compiler = {{compilateur}{comp\adddot}}, @@ -150,13 +152,13 @@ {\'ed\adddotspace et introd\adddot}}, editorsin = {{\'editeurs et introduction}% {\'ed\adddotspace et introd\adddot}}, - editorfo = {{\'editeur et pr\'efacier}% + editorfo = {{\'editeur et pr\'eface}% {\'ed\adddotspace et pr\'ef\adddot}}, - editorsfo = {{\'editeurs et pr\'efaciers}% + editorsfo = {{\'editeurs et pr\'eface}% {\'ed\adddotspace et pr\'ef\adddot}}, - editoraf = {{\'editeur et postfacier}% + editoraf = {{\'editeur et postface}% {\'ed\adddotspace et postf\adddot}}, - editorsaf = {{\'editeurs et postfaciers}% + editorsaf = {{\'editeurs et postface}% {\'ed\adddotspace et postf\adddot}}, editortrco = {{\'editeur, traducteur et commentateur}% {\'ed.,\addabbrvspace trad\adddotspace et comm\adddot}}, @@ -170,61 +172,61 @@ {\'ed.,\addabbrvspace trad\adddotspace et introd\adddot}}, editorstrin = {{\'editeurs, traducteurs et introduction}% {\'ed.,\addabbrvspace trad\adddotspace et introd\adddot}}, - editortrfo = {{\'editeur, traducteur et pr\'efacier}% + editortrfo = {{\'editeur, traducteur et pr\'eface}% {\'ed.,\addabbrvspace trad\adddotspace et pr\'ef\adddot}}, - editorstrfo = {{\'editeurs, traducteurs et pr\'efaciers}% + editorstrfo = {{\'editeurs, traducteurs et pr\'eface}% {\'ed.,\addabbrvspace trad\adddotspace et pr\'ef\adddot}}, - editortraf = {{\'editeur, traducteur et postfacier}% + editortraf = {{\'editeur, traducteur et postface}% {\'ed.,\addabbrvspace trad\adddotspace et postf\adddot}}, - editorstraf = {{\'editeurs, traducteurs et postfaciers}% + editorstraf = {{\'editeurs, traducteurs et postface}% {\'ed.,\addabbrvspace trad\adddot et postf\adddot}}, editorcoin = {{\'editeur, commentateur et introduction}% {\'ed.,\addabbrvspace comm\adddotspace et introd\adddot}}, editorscoin = {{\'editeurs, commentateurs et introduction}% {\'ed.,\addabbrvspace comm\adddotspace et introd\adddot}}, - editorcofo = {{\'editeur, commentateur et pr\'efacier}% + editorcofo = {{\'editeur, commentateur et pr\'eface}% {\'ed.,\addabbrvspace comm\adddotspace et pr\'ef\adddot}}, - editorscofo = {{\'editeurs, commentateurs et pr\'efaciers}% + editorscofo = {{\'editeurs, commentateurs et pr\'eface}% {\'ed.,\addabbrvspace comm\adddotspace et pr\'ef\adddot}}, - editorcoaf = {{\'editeur, commentateur et postfacier}% + editorcoaf = {{\'editeur, commentateur et postface}% {\'ed.,\addabbrvspace comm\adddotspace et postf\adddot}}, - editorscoaf = {{\'editeurs, commentateurs et postfaciers}% + editorscoaf = {{\'editeurs, commentateurs et postface}% {\'ed.,\addabbrvspace comm\adddotspace et postf\adddot}}, editoranin = {{\'editeur, annotateur et introduction}% {\'ed.,\addabbrvspace annot\adddotspace et introd\adddot}}, editorsanin = {{\'editeurs, annotateurs et introduction}% {\'ed.,\addabbrvspace annot\adddotspace et introd\adddot}}, - editoranfo = {{\'editeur, annotateur et pr\'efacier}% + editoranfo = {{\'editeur, annotateur et pr\'eface}% {\'ed.,\addabbrvspace annot\adddotspace et pr\'ef\adddot}}, - editorsanfo = {{\'editeurs, annotateurs et pr\'efaciers}% + editorsanfo = {{\'editeurs, annotateurs et pr\'eface}% {\'ed.,\addabbrvspace annot\adddotspace et pr\'ef\adddot}}, - editoranaf = {{\'editeur, annotateur et postfacier}% + editoranaf = {{\'editeur, annotateur et postface}% {\'ed.,\addabbrvspace annot\adddotspace et postf\adddot}}, - editorsanaf = {{\'editeurs, annotateurs et postfaciers}% + editorsanaf = {{\'editeurs, annotateurs et postface}% {\'ed.,\addabbrvspace annot\adddotspace et postf\adddot}}, editortrcoin = {{\'editeur, traducteur, commentateur et introduction}% {\'ed.,\addabbrvspace trad., comm\adddotspace et introd\adddot}}, editorstrcoin = {{\'editeurs, traducteurs, commentateurs et introduction}% {\'ed.,\addabbrvspace trad., comm\adddotspace et introd\adddot}}, - editortrcofo = {{\'editeur, traducteur, commentateur et pr\'efacier}% + editortrcofo = {{\'editeur, traducteur, commentateur et pr\'eface}% {\'ed.,\addabbrvspace trad., comm\adddotspace et pr\'ef\adddot}}, - editorstrcofo = {{\'editeurs, traducteurs, commentateurs et pr\'efaciers}% + editorstrcofo = {{\'editeurs, traducteurs, commentateurs et pr\'eface}% {\'ed.,\addabbrvspace trad., comm\adddotspace et pr\'ef\adddot}}, - editortrcoaf = {{\'editeur, traducteur, commentateur et postfacier}% + editortrcoaf = {{\'editeur, traducteur, commentateur et postface}% {\'ed.,\addabbrvspace trad., comm\adddotspace et postf\adddot}}, - editorstrcoaf = {{\'editeurs, traducteurs, commentateurs et postfaciers}% + editorstrcoaf = {{\'editeurs, traducteurs, commentateurs et postface}% {\'ed.,\addabbrvspace trad., comm\adddotspace et postf\adddot}}, editortranin = {{\'editeur, traducteur, annotateur et introduction}% {\'ed.,\addabbrvspace trad., annot\adddotspace et introd\adddot}}, editorstranin = {{\'editeurs, traducteurs, annotateurs et introduction}% {\'ed.,\addabbrvspace trad., annot\adddotspace et introd\adddot}}, - editortranfo = {{\'editeur, traducteur, annotateur et pr\'efacier}% + editortranfo = {{\'editeur, traducteur, annotateur et pr\'eface}% {\'ed.,\addabbrvspace trad., annot\adddotspace et pr\'ef\adddot}}, - editorstranfo = {{\'editeurs, traducteurs, annotateurs et pr\'efaciers}% + editorstranfo = {{\'editeurs, traducteurs, annotateurs et pr\'eface}% {\'ed.,\addabbrvspace trad., annot\adddotspace et pr\'ef\adddot}}, - editortranaf = {{\'editeur, traducteur, annotateur et postfacier}% + editortranaf = {{\'editeur, traducteur, annotateur et postface}% {\'ed.,\addabbrvspace trad., annot\adddotspace et postf\adddot}}, - editorstranaf = {{\'editeurs, traducteurs, annotateurs et postfaciers}% + editorstranaf = {{\'editeurs, traducteurs, annotateurs et postface}% {\'ed.,\addabbrvspace trad., annot\adddotspace et postf\adddot}}, translatorco = {{traducteur et commentateur}% {trad\adddotspace et comm\adddot}}, @@ -385,7 +387,7 @@ origpubin = {{publi\'e \`a l'origine en}{pub\adddotspace \`a l'orig\adddotspace en}}, astitle = {{sous le titre}{sous le titre}}, bypublisher = {{par}{par}}, - nodate = {{pas\space de\space date}{{}p\adddotspace d\adddot}}, + nodate = {{sans\space date}{{}s\adddotspace d\adddot}}, page = {{page}{p\adddot}}, pages = {{pages}{p\adddot}}, column = {{colonne}{col\adddot}}, @@ -394,10 +396,10 @@ lines = {{lignes}{l\adddot}}, verse = {{vers}{v\adddot}}, verses = {{vers}{v\adddot}}, - section = {{section}{\S}}, - sections = {{sections}{\S}}, - paragraph = {{paragraphe}{par\adddot}}, - paragraphs = {{paragraphes}{par\adddot}}, + section = {{section}{sect\adddot}}, + sections = {{sections}{sect\adddot}}, + paragraph = {{paragraphe}{\S}}, + paragraphs = {{paragraphes}{\S}}, pagetotal = {{page}{p\adddot}}, pagetotals = {{pages}{p\adddot}}, columntotal = {{colonne}{col\adddot}}, @@ -406,10 +408,10 @@ linetotals = {{lignes}{l\adddot}}, versetotal = {{vers}{v\adddot}}, versetotals = {{vers}{v\adddot}}, - sectiontotal = {{section}{\S}}, - sectiontotals = {{sections}{\S}}, - paragraphtotal = {{paragraphe}{par\adddot}}, - paragraphtotals = {{paragraphes}{par\adddot}}, + sectiontotal = {{section}{sect\adddot}}, + sectiontotals = {{sections}{sect\adddot}}, + paragraphtotal = {{paragraphe}{\S}}, + paragraphtotals = {{paragraphes}{\S}}, in = {{in}{in}}, inseries = {{in}{in}}, ofseries = {{de}{de}}, @@ -458,11 +460,11 @@ backrefpages = {{cf\adddotspace pages}{cf\adddotspace p\adddot}}, january = {{janvier}{jan\adddot}}, february = {{f\'evrier}{f\'ev\adddot}}, - march = {{mars}{mar\adddot}}, + march = {{mars}{mars}}, april = {{avril}{avr\adddot}}, may = {{mai}{mai}}, june = {{juin}{juin}}, - july = {{juillet}{juil\adddot}}, + july = {{juillet}{juill\adddot}}, august = {{ao\^ut}{ao\^ut}}, september = {{septembre}{sept\adddot}}, october = {{octobre}{oct\adddot}}, @@ -492,6 +494,7 @@ langpolish = {{polonais}{polonais}}, langportuguese = {{portugais}{portugais}}, langrussian = {{russe}{russe}}, + langserbian = {{serbe}{serbe}}, langslovak = {{slovaque}{slovaque}}, langslovene = {{slov\`ene}{slov\`ene}}, langspanish = {{espagnol}{espagnol}}, @@ -521,6 +524,7 @@ frompolish = {{du polonais}{du polonais}}, fromportuguese = {{du portugais}{du portugais}}, fromrussian = {{du russe}{du russe}}, + fromserbian = {{du serbe}{du serbe}}, fromslovak = {{du slovaque}{du slovaque}}, fromslovene = {{du slov\`ene}{du slov\`ene}}, fromspanish = {{de l'espagnol}{de l'espagnol}}, diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/galician.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/galician.lbx index 5cd3085e00f..293fe87520d 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/galician.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/galician.lbx @@ -43,13 +43,17 @@ \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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% @@ -426,7 +430,7 @@ nodate = {{sen data}{s\adddot d\adddot}}, sequens = {{sq\adddot}{sq\adddot}}, sequentes = {{sqq\adddot}{sqq\adddot}}, passim = {{p\'assim}{p\'ass\adddot}}, - see = {{v\'exase}{vid\adddotspace}}, + see = {{v\'exase}{vid\adddot}}, seealso = {{v\'exase tam\'en}{vid\adddotspace tam\'en}}, backrefpage = {{v\'exase p\'axina}{vid\adddotspace p\adddot}}, backrefpages = {{v\'exanse p\'axinas}{vid\adddotspace pp\adddot}}, diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx index d133f04c530..3aba7d6739c 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx @@ -50,13 +50,17 @@ {} {\printlist[sfromoriglanguage]{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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% @@ -118,141 +122,141 @@ foreword = {{Vorwort}{Vorw\adddot}}, afterword = {{Nachwort}{Nachw\adddot}}, editortr = {{Herausgeber und \"Ubersetzer}% - {Hrsg\adddot\ und \"Ubers\adddot}}, + {Hrsg\adddotspace und \"Ubers\adddot}}, editorstr = {{Herausgeber und \"Ubersetzer}% - {Hrsg\adddot\ und \"Ubers\adddot}}, + {Hrsg\adddotspace und \"Ubers\adddot}}, editorco = {{Herausgeber und Kommentator}% - {Hrsg\adddot\ und Komm\adddot}}, + {Hrsg\adddotspace und Komm\adddot}}, editorsco = {{Herausgeber und Kommentatoren}% - {Hrsg\adddot\ und Komm\adddot}}, + {Hrsg\adddotspace und Komm\adddot}}, editoran = {{Herausgeber und Kommentator}% - {Hrsg\adddot\ und Komm\adddot}}, + {Hrsg\adddotspace und Komm\adddot}}, editorsan = {{Herausgeber und Kommentatoren}% - {Hrsg\adddot\ und Komm\adddot}}, + {Hrsg\adddotspace und Komm\adddot}}, editorin = {{Herausgabe und Einleitung}% - {Hrsg\adddot\ und Einl\adddot}}, + {Hrsg\adddotspace und Einl\adddot}}, editorsin = {{Herausgeber und Einleitung}% - {Hrsg\adddot\ und Einl\adddot}}, + {Hrsg\adddotspace und Einl\adddot}}, editorfo = {{Herausgeber und Vorwort}% - {Hrsg\adddot\ und Vorw\adddot}}, + {Hrsg\adddotspace und Vorw\adddot}}, editorsfo = {{Herausgabe und Vorwort}% - {Hrsg\adddot\ und Vorw\adddot}}, + {Hrsg\adddotspace und Vorw\adddot}}, editoraf = {{Herausgabe und Nachwort}% - {Hrsg\adddot\ und Nachw\adddot}}, + {Hrsg\adddotspace und Nachw\adddot}}, editorsaf = {{Herausgabe und Nachwort}% - {Hrsg\adddot\ und Nachw\adddot}}, + {Hrsg\adddotspace und Nachw\adddot}}, editortrco = {{Herausgeber, \"Ubersetzer und Kommentator}% - {Hrsg., \"Ubers\adddot\ und Komm\adddot}}, + {Hrsg., \"Ubers\adddotspace und Komm\adddot}}, editorstrco = {{Herausgeber, \"Ubersetzer und Kommentatoren}% - {Hrsg., \"Ubers\adddot\ und Komm\adddot}}, + {Hrsg., \"Ubers\adddotspace und Komm\adddot}}, editortran = {{Herausgeber, \"Ubersetzer und Kommentator}% - {Hrsg., \"Ubers\adddot\ und Komm\adddot}}, + {Hrsg., \"Ubers\adddotspace und Komm\adddot}}, editorstran = {{Herausgeber, \"Ubersetzer und Kommentatoren}% - {Hrsg., \"Ubers\adddot\ und Komm\adddot}}, + {Hrsg., \"Ubers\adddotspace und Komm\adddot}}, editortrin = {{Herausgabe, \"Ubersetzung und Einleitung}% - {Hrsg., \"Ubers\adddot\ und Einl\adddot}}, + {Hrsg., \"Ubers\adddotspace und Einl\adddot}}, editorstrin = {{Herausgabe, \"Ubersetzung und Einleitung}% - {Hrsg., \"Ubers\adddot\ und Einl\adddot}}, + {Hrsg., \"Ubers\adddotspace und Einl\adddot}}, editortrfo = {{Herausgabe, \"Ubersetzung und Vorwort}% - {Hrsg., \"Ubers\adddot\ und Vorw\adddot}}, + {Hrsg., \"Ubers\adddotspace und Vorw\adddot}}, editorstrfo = {{Herausgabe, \"Ubersetzung und Vorwort}% - {Hrsg., \"Ubers\adddot\ und Vorw\adddot}}, + {Hrsg., \"Ubers\adddotspace und Vorw\adddot}}, editortraf = {{Herausgabe, \"Ubersetzung und Nachwort}% - {Hrsg., \"Ubers\adddot\ und Nachw\adddot}}, + {Hrsg., \"Ubers\adddotspace und Nachw\adddot}}, editorstraf = {{Herausgabe, \"Ubersetzung und Nachwort}% - {Hrsg., \"Ubers\adddot\ und Nachw\adddot}}, + {Hrsg., \"Ubers\adddotspace und Nachw\adddot}}, editorcoin = {{Herausgabe, Kommentar und Einleitung}% - {Hrsg., Komm\adddot\ und Einl\adddot}}, + {Hrsg., Komm\adddotspace und Einl\adddot}}, editorscoin = {{Herausgabe, Kommentar und Einleitung}% - {Hrsg., Komm\adddot\ und Einl\adddot}}, + {Hrsg., Komm\adddotspace und Einl\adddot}}, editorcofo = {{Herausgabe, Kommentar und Vorwort}% - {Hrsg., Komm\adddot\ und Vorw\adddot}}, + {Hrsg., Komm\adddotspace und Vorw\adddot}}, editorscofo = {{Herausgabe, Kommentar und Vorwort}% - {Hrsg., Komm\adddot\ und Vorw\adddot}}, + {Hrsg., Komm\adddotspace und Vorw\adddot}}, editorcoaf = {{Herausgabe, Kommentar und Nachwort}% - {Hrsg., Komm\adddot\ und Nachw\adddot}}, + {Hrsg., Komm\adddotspace und Nachw\adddot}}, editorscoaf = {{Herausgabe, Kommentar und Nachwort}% - {Hrsg., Komm\adddot\ und Nachw\adddot}}, + {Hrsg., Komm\adddotspace und Nachw\adddot}}, editoranin = {{Herausgabe, Erl\"auterungen und Einleitung}% - {Hrsg., Erl\"aut\adddot\ und Einl\adddot}}, + {Hrsg., Erl\"aut\adddotspace und Einl\adddot}}, editorsanin = {{Herausgabe, Erl\"auterungen und Einleitung}% - {Hrsg., Erl\"aut\adddot\ und Einl\adddot}}, + {Hrsg., Erl\"aut\adddotspace und Einl\adddot}}, editoranfo = {{Herausgabe, Erl\"auterungen und Vorwort}% - {Hrsg., Erl\"aut\adddot\ und Vorw\adddot}}, + {Hrsg., Erl\"aut\adddotspace und Vorw\adddot}}, editorsanfo = {{Herausgabe, Erl\"auterungen und Vorwort}% - {Hrsg., Erl\"aut\adddot\ und Vorw\adddot}}, + {Hrsg., Erl\"aut\adddotspace und Vorw\adddot}}, editoranaf = {{Herausgabe, Erl\"auterungen und Nachwort}% - {Hrsg., Erl\"aut\adddot\ und Nachw\adddot}}, + {Hrsg., Erl\"aut\adddotspace und Nachw\adddot}}, editorsanaf = {{Herausgabe, Erl\"auterungen und Nachwort}% - {Hrsg., Erl\"aut\adddot\ und Nachw\adddot}}, + {Hrsg., Erl\"aut\adddotspace und Nachw\adddot}}, editortrcoin = {{Herausgabe, \"Ubersetzung, Kommentar und Einleitung}% - {Hrsg., \"Ubers., Komm\adddot\ und Einl\adddot}}, + {Hrsg., \"Ubers., Komm\adddotspace und Einl\adddot}}, editorstrcoin = {{Herausgabe, \"Ubersetzung, Kommentar und Einleitung}% - {Hrsg., \"Ubers., Komm\adddot\ und Einl\adddot}}, + {Hrsg., \"Ubers., Komm\adddotspace und Einl\adddot}}, editortrcofo = {{Herausgabe, \"Ubersetzung, Kommentar und Vorwort}% - {Hrsg., \"Ubers., Komm\adddot\ und Vorw\adddot}}, + {Hrsg., \"Ubers., Komm\adddotspace und Vorw\adddot}}, editorstrcofo = {{Herausgabe, \"Ubersetzung, Kommentar und Vorwort}% - {Hrsg., \"Ubers., Komm\adddot\ und Vorw\adddot}}, + {Hrsg., \"Ubers., Komm\adddotspace und Vorw\adddot}}, editortrcoaf = {{Herausgabe, \"Ubersetzung, Kommentar und Nachwort}% - {Hrsg., \"Ubers., Komm\adddot\ und Nachw\adddot}}, + {Hrsg., \"Ubers., Komm\adddotspace und Nachw\adddot}}, editorstrcoaf = {{Herausgabe, \"Ubersetzung, Kommentar und Nachwort}% - {Hrsg., \"Ubers., Komm\adddot\ und Nachw\adddot}}, + {Hrsg., \"Ubers., Komm\adddotspace und Nachw\adddot}}, editortranin = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Einleitung}% - {Hrsg., \"Ubers., Erl\"aut\adddot\ und Einl\adddot}}, + {Hrsg., \"Ubers., Erl\"aut\adddotspace und Einl\adddot}}, editorstranin = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Einleitung}% - {Hrsg., \"Ubers., Erl\"aut\adddot\ und Einl\adddot}}, + {Hrsg., \"Ubers., Erl\"aut\adddotspace und Einl\adddot}}, editortranfo = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Vorwort}% - {Hrsg., \"Ubers., Erl\"aut\adddot\ und Vorw\adddot}}, + {Hrsg., \"Ubers., Erl\"aut\adddotspace und Vorw\adddot}}, editorstranfo = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Vorwort}% - {Hrsg., \"Ubers., Erl\"aut\adddot\ und Vorw\adddot}}, + {Hrsg., \"Ubers., Erl\"aut\adddotspace und Vorw\adddot}}, editortranaf = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Nachwort}% - {Hrsg., \"Ubers., Erl\"aut\adddot\ und Nachw\adddot}}, + {Hrsg., \"Ubers., Erl\"aut\adddotspace und Nachw\adddot}}, editorstranaf = {{Herausgabe, \"Ubersetzung, Erl\"auterungen und Nachwort}% - {Hrsg., \"Ubers., Erl\"aut\adddot\ und Nachw\adddot}}, + {Hrsg., \"Ubers., Erl\"aut\adddotspace und Nachw\adddot}}, translatorco = {{\"Ubersetzung und Kommentar}% - {\"Ubers\adddot\ und Komm\adddot}}, + {\"Ubers\adddotspace und Komm\adddot}}, translatorsco = {{\"Ubersetzung und Kommentar}% - {\"Ubers\adddot\ und Komm\adddot}}, + {\"Ubers\adddotspace und Komm\adddot}}, translatoran = {{\"Ubersetzung und Erl\"auterungen}% - {\"Ubers\adddot\ und Erl\"aut\adddot}}, + {\"Ubers\adddotspace und Erl\"aut\adddot}}, translatorsan = {{\"Ubersetzung und Erl\"auterungen}% - {\"Ubers\adddot\ und Erl\"aut\adddot}}, + {\"Ubers\adddotspace und Erl\"aut\adddot}}, translatorin = {{\"Ubersetzung und Einleitung}% - {\"Ubers\adddot\ und Einl\adddot}}, + {\"Ubers\adddotspace und Einl\adddot}}, translatorsin = {{\"Ubersetzung und Einleitung}% - {\"Ubers\adddot\ und Einl\adddot}}, + {\"Ubers\adddotspace und Einl\adddot}}, translatorfo = {{\"Ubersetzung und Vorwort}% - {\"Ubers\adddot\ und Vorw\adddot}}, + {\"Ubers\adddotspace und Vorw\adddot}}, translatorsfo = {{\"Ubersetzung und Vorwort}% - {\"Ubers\adddot\ und Vorw\adddot}}, + {\"Ubers\adddotspace und Vorw\adddot}}, translatoraf = {{\"Ubersetzung und Nachwort}% - {\"Ubers\adddot\ und Nachw\adddot}}, + {\"Ubers\adddotspace und Nachw\adddot}}, translatorsaf = {{\"Ubersetzung und Nachwort}% - {\"Ubers\adddot\ und Nachw\adddot}}, + {\"Ubers\adddotspace und Nachw\adddot}}, translatorcoin = {{\"Ubersetzung, Kommentar und Einleitung}% - {\"Ubers., Komm\adddot\ und Einl\adddot}}, + {\"Ubers., Komm\adddotspace und Einl\adddot}}, translatorscoin = {{\"Ubersetzung, Kommentar und Einleitung}% - {\"Ubers., Komm\adddot\ und Einl\adddot}}, + {\"Ubers., Komm\adddotspace und Einl\adddot}}, translatorcofo = {{\"Ubersetzung, Kommentar und Vorwort}% - {\"Ubers., Komm\adddot\ und Vorw\adddot}}, + {\"Ubers., Komm\adddotspace und Vorw\adddot}}, translatorscofo = {{\"Ubersetzung, Kommentar und Vorwort}% - {\"Ubers., Komm\adddot\ und Vorw\adddot}}, + {\"Ubers., Komm\adddotspace und Vorw\adddot}}, translatorcoaf = {{\"Ubersetzung, Kommentar und Nachwort}% - {\"Ubers., Komm\adddot\ und Nachw\adddot}}, + {\"Ubers., Komm\adddotspace und Nachw\adddot}}, translatorscoaf = {{\"Ubersetzung, Kommentar und Nachwort}% - {\"Ubers., Komm\adddot\ und Nachw\adddot}}, + {\"Ubers., Komm\adddotspace und Nachw\adddot}}, translatoranin = {{\"Ubersetzung, Erl\"auterungen und Einleitung}% - {\"Ubers., Erl\"aut\adddot\ und Einl\adddot}}, + {\"Ubers., Erl\"aut\adddotspace und Einl\adddot}}, translatorsanin = {{\"Ubersetzung, Erl\"auterungen und Einleitung}% - {\"Ubers., Erl\"aut\adddot\ und Einl\adddot}}, + {\"Ubers., Erl\"aut\adddotspace und Einl\adddot}}, translatoranfo = {{\"Ubersetzung, Erl\"auterungen und Vorwort}% - {\"Ubers., Erl\"aut\adddot\ und Vorw\adddot}}, + {\"Ubers., Erl\"aut\adddotspace und Vorw\adddot}}, translatorsanfo = {{\"Ubersetzung, Erl\"auterungen und Vorwort}% - {\"Ubers., Erl\"aut\adddot\ und Vorw\adddot}}, + {\"Ubers., Erl\"aut\adddotspace und Vorw\adddot}}, translatoranaf = {{\"Ubersetzung, Erl\"auterungen und Nachwort}% - {\"Ubers., Erl\"aut\adddot\ und Nachw\adddot}}, + {\"Ubers., Erl\"aut\adddotspace und Nachw\adddot}}, translatorsanaf = {{\"Ubersetzung, Erl\"auterungen und Nachwort}% - {\"Ubers., Erl\"aut\adddot\ und Nachw\adddot}}, + {\"Ubers., Erl\"aut\adddotspace und Nachw\adddot}}, % organizer = {{}{}},% FIXME: missing % organizers = {{}{}},% FIXME: missing % byorganizer = {{}{}},% FIXME: missing @@ -263,84 +267,84 @@ byreviser = {{\"uberarbeitet von}{\"uberarb\adddotspace von}}, byreviewer = {{rezensiert von}{rez\adddotspace von}}, byfounder = {{begr\"undet von}{begr\adddotspace von}}, - bycontinuator = {{fortgef\"urt von}{fortgef\adddotspace von}}, + bycontinuator = {{fortgef\"uhrt von}{fortgef\adddotspace von}}, bycollaborator = {{unter Mitarbeit von}{unter Mitarb\adddotspace von}}, - bytranslator = {{\lbx@lfromlang \"ubersetzt von}{\lbx@sfromlang \"ubers\adddot\ von}}, - bycommentator = {{kommentiert von}{komm\adddot\ von}}, - byannotator = {{erl\"autert von}{erl\"aut\adddot\ von}}, - withcommentator = {{mit einem Kommentar von}{mit einem Komm\adddot\ von}}, - withannotator = {{mit Erl\"auterungen von}{mit Erl\"aut\adddot\ von}}, - withintroduction = {{mit einer Einleitung von}{mit einer Einl\adddot\ von}}, - withforeword = {{mit einem Vorwort von}{mit einem Vorw\adddot\ von}}, - withafterword = {{mit einem Nachwort von}{mit einem Nachw\adddot\ von}}, + bytranslator = {{\lbx@lfromlang \"ubersetzt von}{\lbx@sfromlang \"ubers\adddotspace von}}, + bycommentator = {{kommentiert von}{komm\adddotspace von}}, + byannotator = {{erl\"autert von}{erl\"aut\adddotspace von}}, + withcommentator = {{mit einem Kommentar von}{mit einem Komm\adddotspace von}}, + withannotator = {{mit Erl\"auterungen von}{mit Erl\"aut\adddotspace von}}, + withintroduction = {{mit einer Einleitung von}{mit einer Einl\adddotspace von}}, + withforeword = {{mit einem Vorwort von}{mit einem Vorw\adddotspace von}}, + withafterword = {{mit einem Nachwort von}{mit einem Nachw\adddotspace von}}, byeditortr = {{herausgegeben und \lbx@lfromlang \"ubersetzt von}% - {hrsg\adddotspace und \lbx@sfromlang \"ubers\adddot\ von}}, + {hrsg\adddotspace und \lbx@sfromlang \"ubers\adddotspace von}}, byeditorco = {{herausgegeben und kommentiert von}% - {hrsg\adddotspace und komm\adddot\ von}}, + {hrsg\adddotspace und komm\adddotspace von}}, byeditoran = {{herausgegeben und erl\"autert von}% - {hrsg\adddotspace und erl\"aut\adddot\ von}}, + {hrsg\adddotspace und erl\"aut\adddotspace von}}, byeditorin = {{herausgegeben und mit einer Einleitung versehen von}% - {hrsg\adddotspace und mit einer Einl\adddot\ vers\adddot\ von}}, + {hrsg\adddotspace und mit einer Einl\adddotspace vers\adddotspace von}}, byeditorfo = {{herausgegeben und mit einem Vorwort versehen von}% - {hrsg\adddotspace und mit einem Vorw\adddot\ vers\adddot\ von}}, + {hrsg\adddotspace und mit einem Vorw\adddotspace vers\adddotspace von}}, byeditoraf = {{herausgegeben und mit einem Nachwort versehen von}% - {hrsg\adddotspace und mit einem Nachw\adddot\ vers\adddot\ von}}, + {hrsg\adddotspace und mit einem Nachw\adddotspace vers\adddotspace von}}, byeditortrco = {{herausgegeben, \lbx@lfromlang \"ubersetzt und kommentiert von}% - {hrsg., \lbx@sfromlang \"ubers\adddot\ und komm\adddot\ von}}, + {hrsg., \lbx@sfromlang \"ubers\adddotspace und komm\adddotspace von}}, byeditortran = {{herausgegeben, \lbx@lfromlang \"ubersetzt und erl\"autert von}% - {hrsg., \lbx@sfromlang \"ubers\adddot\ und erl\"aut\adddot\ von}}, + {hrsg., \lbx@sfromlang \"ubers\adddotspace und erl\"aut\adddotspace von}}, byeditortrin = {{herausgegeben, \lbx@lfromlang \"ubersetzt und mit einer Einleitung versehen von}% - {hrsg., \lbx@sfromlang \"ubers\adddot\ und mit einer Einl\adddot\ vers\adddot\ von}}, + {hrsg., \lbx@sfromlang \"ubers\adddotspace und mit einer Einl\adddotspace vers\adddotspace von}}, byeditortrfo = {{herausgegeben, \lbx@lfromlang \"ubersetzt und mit einem Vorwort versehen von}% - {hrsg., \lbx@sfromlang \"ubers\adddot\ und mit einem Vorw\adddot\ vers\adddot\ von}}, + {hrsg., \lbx@sfromlang \"ubers\adddotspace und mit einem Vorw\adddotspace vers\adddotspace von}}, byeditortraf = {{herausgegeben, \lbx@lfromlang \"ubersetzt und mit einem Nachwort versehen von}% - {hrsg., \lbx@sfromlang \"ubers\adddot\ und mit einem Nachw\adddot\ vers\adddot\ von}}, + {hrsg., \lbx@sfromlang \"ubers\adddotspace und mit einem Nachw\adddotspace vers\adddotspace von}}, byeditorcoin = {{herausgegeben, kommentiert und mit einer Einleitung versehen von}% - {hrsg., komm\adddot\ und mit einer Einl\adddot\ vers\adddot\ von}}, + {hrsg., komm\adddotspace und mit einer Einl\adddotspace vers\adddotspace von}}, byeditorcofo = {{herausgegeben, kommentiert und mit einem Vorwort versehen von}% - {hrsg., komm\adddot\ und mit einem Vorw\adddot\ vers\adddot\ von}}, + {hrsg., komm\adddotspace und mit einem Vorw\adddotspace vers\adddotspace von}}, byeditorcoaf = {{herausgegeben, kommentiert und mit einem Nachwort versehen von}% - {hrsg., komm\adddot\ und mit einem Nachw\adddot\ vers\adddot\ von}}, + {hrsg., komm\adddotspace und mit einem Nachw\adddotspace vers\adddotspace von}}, byeditoranin = {{herausgegeben, erl\"autert und mit einer Einleitung versehen von}% - {hrsg., erl\"aut\adddot\ und mit einer Einl\adddot\ vers\adddot\ von}}, + {hrsg., erl\"aut\adddotspace und mit einer Einl\adddotspace vers\adddotspace von}}, byeditoranfo = {{herausgegeben, erl\"autert und mit einem Vorwort versehen von}% - {hrsg., erl\"aut\adddot\ und mit einem Vorw\adddot\ vers\adddot\ von}}, + {hrsg., erl\"aut\adddotspace und mit einem Vorw\adddotspace vers\adddotspace von}}, byeditoranaf = {{herausgegeben, erl\"autert und mit einem Nachwort versehen von}% - {hrsg., erl\"aut\adddot\ und mit einem Nachw\adddot\ vers\adddot\ von}}, + {hrsg., erl\"aut\adddotspace und mit einem Nachw\adddotspace vers\adddotspace von}}, byeditortrcoin = {{herausgegeben, \lbx@lfromlang \"ubersetzt, kommentiert und mit einer Einleitung versehen von}% - {hrsg., \lbx@sfromlang \"ubers., komm\adddot\ und mit einer Einl\adddot\ vers\adddot\ von}}, + {hrsg., \lbx@sfromlang \"ubers., komm\adddotspace und mit einer Einl\adddotspace vers\adddotspace von}}, byeditortrcofo = {{herausgegeben, \lbx@lfromlang \"ubersetzt, kommentiert und mit einem Vorwort versehen von}% - {hrsg., \lbx@sfromlang \"ubers., komm\adddot\ und mit einem Vorw\adddot\ vers\adddot\ von}}, + {hrsg., \lbx@sfromlang \"ubers., komm\adddotspace und mit einem Vorw\adddotspace vers\adddotspace von}}, byeditortrcoaf = {{herausgegeben, \lbx@lfromlang \"ubersetzt, kommentiert und mit einem Nachwort versehen von}% - {hrsg., \lbx@sfromlang \"ubers., komm\adddot\ und mit einem Nachw\adddot\ vers\adddot\ von}}, + {hrsg., \lbx@sfromlang \"ubers., komm\adddotspace und mit einem Nachw\adddotspace vers\adddotspace von}}, byeditortranin = {{herausgegeben, \lbx@lfromlang \"ubersetzt, erl\"autert und mit einer Einleitung versehen von}% - {hrsg., \lbx@sfromlang \"ubers., erl\"aut\adddot\ und mit einer Einl\adddot\ vers\adddot\ von}}, + {hrsg., \lbx@sfromlang \"ubers., erl\"aut\adddotspace und mit einer Einl\adddotspace vers\adddotspace von}}, byeditortranfo = {{herausgegeben, \lbx@lfromlang \"ubersetzt, erl\"autert und mit einem Vorwort versehen von}% - {hrsg., \lbx@sfromlang \"ubers., erl\"aut\adddot\ und mit einem Vorw\adddot\ vers\adddot\ von}}, + {hrsg., \lbx@sfromlang \"ubers., erl\"aut\adddotspace und mit einem Vorw\adddotspace vers\adddotspace von}}, byeditortranaf = {{herausgegeben, \lbx@lfromlang \"ubersetzt, erl\"autert und mit einem Nachwort versehen von}% - {hrsg., \lbx@sfromlang \"ubers., erl\"aut\adddot\ und mit einem Nachw\adddot\ vers\adddot\ von}}, + {hrsg., \lbx@sfromlang \"ubers., erl\"aut\adddotspace und mit einem Nachw\adddotspace vers\adddotspace von}}, bytranslatorco = {{\lbx@lfromlang \"ubersetzt und kommentiert von}% - {\lbx@sfromlang \"ubers\adddot\ und komm\adddot\ von}}, + {\lbx@sfromlang \"ubers\adddotspace und komm\adddotspace von}}, bytranslatoran = {{\lbx@lfromlang \"ubersetzt und erl\"autert von}% - {\lbx@sfromlang \"ubers\adddot\ und erl\"aut\adddot\ von}}, + {\lbx@sfromlang \"ubers\adddotspace und erl\"aut\adddotspace von}}, bytranslatorin = {{\lbx@lfromlang \"ubersetzt und mit einer Einleitung versehen von}% - {\lbx@sfromlang \"ubers\adddot\ und mit einer Einl\adddot\ vers\adddot\ von}}, + {\lbx@sfromlang \"ubers\adddotspace und mit einer Einl\adddotspace vers\adddotspace von}}, bytranslatorfo = {{\lbx@lfromlang \"ubersetzt und mit einem Vorwort versehen von}% - {\lbx@sfromlang \"ubers\adddot\ und mit einem Vorw\adddot\ vers\adddot\ von}}, + {\lbx@sfromlang \"ubers\adddotspace und mit einem Vorw\adddotspace vers\adddotspace von}}, bytranslatoraf = {{\lbx@lfromlang \"ubersetzt und mit einem Nachwort versehen von}% - {\lbx@sfromlang \"ubers\adddot\ und mit einem Nachw\adddot\ vers\adddot\ von}}, + {\lbx@sfromlang \"ubers\adddotspace und mit einem Nachw\adddotspace vers\adddotspace von}}, bytranslatorcoin = {{\lbx@lfromlang \"ubersetzt, kommentiert und mit einer Einleitung versehen von}% - {\lbx@sfromlang \"ubers., komm\adddot\ und mit einer Einl\adddot\ vers\adddot\ von}}, + {\lbx@sfromlang \"ubers., komm\adddotspace und mit einer Einl\adddotspace vers\adddotspace von}}, bytranslatorcofo = {{\lbx@lfromlang \"ubersetzt, kommentiert und mit einem Vorwort versehen von}% - {\lbx@sfromlang \"ubers., komm\adddot\ und mit einem Vorw\adddot\ vers\adddot\ von}}, + {\lbx@sfromlang \"ubers., komm\adddotspace und mit einem Vorw\adddotspace vers\adddotspace von}}, bytranslatorcoaf = {{\lbx@lfromlang \"ubersetzt, kommentiert und mit einem Nachwort versehen von}% - {\lbx@sfromlang \"ubers., komm\adddot\ und mit einem Nachw\adddot\ vers\adddot\ von}}, + {\lbx@sfromlang \"ubers., komm\adddotspace und mit einem Nachw\adddotspace vers\adddotspace von}}, bytranslatoranin = {{\lbx@lfromlang \"ubersetzt, erl\"autert und mit einer Einleitung versehen von}% - {\lbx@sfromlang \"ubers., erl\"aut\adddot\ und mit einer Einl\adddot\ vers\adddot\ von}}, + {\lbx@sfromlang \"ubers., erl\"aut\adddotspace und mit einer Einl\adddotspace vers\adddotspace von}}, bytranslatoranfo = {{\lbx@lfromlang \"ubersetzt, erl\"autert und mit einem Vorwort versehen von}% - {\lbx@sfromlang \"ubers., erl\"aut\adddot\ und mit einem Vorw\adddot\ vers\adddot\ von}}, + {\lbx@sfromlang \"ubers., erl\"aut\adddotspace und mit einem Vorw\adddotspace vers\adddotspace von}}, bytranslatoranaf = {{\lbx@lfromlang \"ubersetzt, erl\"autert und mit einem Nachwort versehen von}% - {\lbx@sfromlang \"ubers., erl\"aut\adddot\ und mit einem Nachw\adddot\ vers\adddot\ von}}, + {\lbx@sfromlang \"ubers., erl\"aut\adddotspace und mit einem Nachw\adddotspace vers\adddotspace von}}, and = {{und}{und}}, andothers = {{u.\,a\adddot}{u.\,a\adddot}}, andmore = {{u.\,a\adddot}{u.\,a\adddot}}, @@ -367,7 +371,7 @@ origpubin = {{zuerst publiziert in}{zuerst publ\adddotspace in}}, astitle = {{unter dem Titel}{unter dem Titel}}, bypublisher = {{von}{von}}, - nodate = {{ohne\space Datum}{{}o\adddot D\adddot}}, + nodate = {{ohne\space Datum}{{}o.\,D\adddot}}, page = {{Seite}{S\adddot}}, pages = {{Seiten}{S\adddot}}, column = {{Spalte}{Sp\adddot}}, @@ -417,7 +421,7 @@ prepublished = {{Vorver\"offentlichung}{Vorver\"offentlichung}}, citedas = {{im folgenden zitiert als}{im folgenden zit\adddotspace als}}, thiscite = {{hier}{hier}}, - seenote = {{siehe Anmerkung}{s\adddotspace Anm\adddot}}, + seenote = {{siehe Anmerkung}{s.~Anm\adddot}}, quotedin = {{zitiert nach}{zit\adddotspace nach}}, idem = {{derselbe}{ders\adddot}}, idemsf = {{dieselbe}{dies\adddot}}, @@ -435,7 +439,7 @@ sequentes = {{ff\adddot}{ff\adddot}}, passim = {{passim}{pass\adddot}}, see = {{siehe}{siehe}}, - seealso = {{siehe auch}{s.\,auch}}, + seealso = {{siehe auch}{s.~auch}}, backrefpage = {{siehe Seite}{siehe S\adddot}}, backrefpages = {{siehe Seiten}{siehe S\adddot}}, january = {{Januar}{Jan\adddot}}, @@ -470,14 +474,17 @@ langjapanese = {{Japanisch}{Japanisch}}, langlatin = {{Lateinisch}{Lateinisch}}, langlatvian = {{Lettisch}{Lettisch}}, + langlithuanian = {{Litauisch}{Litauisch}}, langnorwegian = {{Norwegisch}{Norwegisch}}, langpolish = {{Polnisch}{Polnisch}}, langportuguese = {{Portugiesisch}{Portugiesisch}}, langrussian = {{Russisch}{Russisch}}, + langserbian = {{Serbisch}{Serbisch}}, langslovak = {{Slowakisch}{Slowakisch}}, langslovene = {{Slowenisch}{Slowenisch}}, langspanish = {{Spanisch}{Spanisch}}, langswedish = {{Schwedisch}{Schwedisch}}, + langturkish = {{T\"urkisch}{T\"urkisch}}, langukrainian = {{Ukrainisch}{Ukrainisch}}, fromamerican = {{aus dem Amerikanischen}{aus dem Amerikanischen}}, frombrazilian = {{aus dem Brasilianischen}{aus dem Brasilianischen}}, @@ -499,14 +506,17 @@ fromjapanese = {{aus dem Japanischen}{aus dem Japanischen}}, fromlatin = {{aus dem Lateinischen}{aus dem Lateinischen}}, fromlatvian = {{aus dem Lettischen}{aus dem Lettischen}}, + fromlithuanian = {{aus dem Litauischen}{aus dem Litauischen}}, fromnorwegian = {{aus dem Norwegischen}{aus dem Norwegischen}}, frompolish = {{aus dem Polnischen}{aus dem Polnischen}}, fromportuguese = {{aus dem Portugiesischen}{aus dem Portugiesischen}}, fromrussian = {{aus dem Russischen}{aus dem Russischen}}, + fromserbian = {{aus dem Serbian}{aus dem Serbian}}, fromslovak = {{aus dem Slowakischen}{aus dem Slowakischen}}, fromslovene = {{aus dem Slowenischen}{aus dem Slowenischen}}, fromspanish = {{aus dem Spanischen}{aus dem Spanischen}}, fromswedish = {{aus dem Schwedischen}{aus dem Schwedischen}}, + fromturkish = {{aus dem T\"urkischen}{T\"urkischen}}, fromukrainian = {{aus dem Ukrainischen}{aus dem Ukrainischen}}, countryde = {{Deutschland}{DE}}, countryep = {{Europ\"aische Union}{EP}}, @@ -516,29 +526,29 @@ countryus = {{USA}{US}}, patent = {{Patent}{Pat\adddot}}, patentde = {{deutsches Patent}{dt\adddotspace Pat\adddot}}, - patenteu = {{europ\"aisches Patent}{europ\adddot\ Pat\adddot}}, - patentfr = {{franz\"osisches Patent}{frz\adddot\ Pat\adddot}}, - patentuk = {{britisches Patent}{brit\adddot\ Pat\adddot}}, + patenteu = {{europ\"aisches Patent}{europ\adddotspace Pat\adddot}}, + patentfr = {{franz\"osisches Patent}{frz\adddotspace Pat\adddot}}, + patentuk = {{britisches Patent}{brit\adddotspace Pat\adddot}}, patentus = {{US-Patent}{US-Pat\adddot}}, patreq = {{Patentanmeldung}{Patentanmeld\adddot}}, patreqde = {{deutsche Patentanmeldung}{dt\adddotspace Patentanmeld\adddot}}, - patreqeu = {{europ\"aische Patentanmeldung}{europ\adddot\ Patentanmeld\adddot}}, - patreqfr = {{franz\"osische Patentanmeldung}{frz\adddot\ Patentanmeld\adddot}}, - patrequk = {{britische Patentanmeldung}{brit\adddot\ Patentanmeld\adddot}}, + patreqeu = {{europ\"aische Patentanmeldung}{europ\adddotspace Patentanmeld\adddot}}, + patreqfr = {{franz\"osische Patentanmeldung}{frz\adddotspace Patentanmeld\adddot}}, + patrequk = {{britische Patentanmeldung}{brit\adddotspace Patentanmeld\adddot}}, patrequs = {{US-Patentanmeldung}{US-Patentanmeld\adddot}}, file = {{Datei}{Datei}}, 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}}, + commonera = {{u.\,Z\adddot}{u.\,Z\adddot}}, + beforecommonera = {{v.\,u.\,Z\adddot}{v.\,u.\,Z\adddot}}, + annodomini = {{n.\,Chr\adddot}{n.\,Chr\adddot}}, + beforechrist = {{v.\,Chr\adddot}{v.\,Chr\adddot}}, circa = {{circa}{ca\adddot}}, - spring = {{Fr\"uhling}{Fr\adddot}}, - summer = {{Sommer}{So\adddot}}, - autumn = {{Herbst}{He\adddot}}, - winter = {{Winter}{Wi\adddot}}, + spring = {{Fr\"uhling}{Frühling}}, + summer = {{Sommer}{Sommer}}, + autumn = {{Herbst}{Herbst}}, + winter = {{Winter}{Winter}}, am = {{vorm\adddot}{vorm\adddot}}, pm = {{nachm\adddot}{nachm\adddot}}, } diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx index 69f2fd708b5..6d86ddc4a4d 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx @@ -15,7 +15,7 @@ {} {\PackageError{biblatex} {Greek requires UTF-8 support} - {The 'greek.lbx' file requires UTF-8 encoding but you + {The file 'greek.lbx' requires UTF-8 encoding but you seem\MessageBreak to be using a different encoding. This is a fatal error. I will\MessageBreak abort loading greek.lbx now.}% @@ -78,13 +78,17 @@ \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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx index 0429de4e136..dc3ff3207a2 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx @@ -56,13 +56,17 @@ % \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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx index 07339b26537..b0469ad796f 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx @@ -43,13 +43,17 @@ \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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% @@ -280,7 +284,7 @@ newseries = {{nuova serie}{nuova ser\adddot}}, oldseries = {{vecchia serie}{vecchia ser\adddot}}, edition = {{edizione}{ed\adddot}}, - reprint = {{ristampa}{rist\adddotspace}}, + reprint = {{ristampa}{rist\adddot}}, reprintof = {{ristampa di}{rist\adddotspace di}}, % reprintas = {{}{}},% FIXME: missing % reprintfrom = {{}{}},% FIXME: missing diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/latvian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/latvian.lbx index 33a95360cbc..137e97e6ddd 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/latvian.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/latvian.lbx @@ -83,13 +83,17 @@ {} {\adddot}}}% \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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% @@ -146,7 +150,7 @@ % this redefines \mkpageprefix to put the page number as suffix \savecommand\blx@mkpageprefix \protected\long\def\blx@mkpageprefix#1[#2]#3{% - \blx@mkpageprefix@i[#2]{#3}% + \blx@mkpageprefix@i[{#2}]{#3}% \ifnumeral{#3} {\ppspace\bibstring{#1}} {\ifnumerals{#3} @@ -716,7 +720,7 @@ \blx@metadateinfo{#2}% \iffieldundef{#2year} {\blx@nounit} - {\printtext[#2date]{% + {\printtext[{#2date}]{% \datecircaprint \iffieldundef{#2season} {\ifdateyearsequal{#2}{#2end} @@ -754,7 +758,7 @@ \blx@metadateinfo{#2}% \iffieldundef{#2year} {\blx@nounit} - {\printtext[#2date]{% + {\printtext[{#2date}]{% \datecircaprint \iffieldundef{#2season} {\ifdateyearsequal{#2}{#2end} diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/lithuanian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/lithuanian.lbx new file mode 100644 index 00000000000..60d54760761 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/lithuanian.lbx @@ -0,0 +1,838 @@ +\ProvidesFile{lithuanian.lbx} +[\abx@lbxid] + +\DeclareRedundantLanguages{lithuanian}{lithuanian} + +% This file requires UTF-8 support! + +\lbx@ifutfinput + {} + {\PackageError{biblatex} + {Lithuanian requires UTF-8 support} + {The file 'lithuanian.lbx' requires UTF-8 encoding but you + seem\MessageBreak to be using a different encoding. + This is a fatal error. I will\MessageBreak abort loading + russian.lbx now.}% + \endinput} + +\DeclareBibliographyExtras{% + \DeclareCapitalPunctuation{.:!?}% + \protected\def\bibrangedash{% + \textendash\penalty\hyphenpenalty}% breakable endash + \def\lbx@lt@bibdaterangeseplong{\space\textendash\space}% + \def\lbx@lt@bibnumdaterangeseplong{\textendash}% + \def\lbx@lt@bibdaterangesepshort{\textendash}% + \let\lbx@lt@bibnumdaterangesepshort\lbx@lt@bibdaterangesepshort + \savecommand\bibdatesep + \protected\def\bibdatesep{\nobreakspace}% + \let\finalandcomma=\empty + \let\finalandsemicolon=\empty + \undef\mkbibordinal + \protected\def\mkbibmascord#1{\stripzeros{#1}-as}% + \protected\def\mkbibfemord#1{\stripzeros{#1}-a}% + \undef\mkbibneutord + \savecommand\mkbibordedition + \savecommand\mkbibordseries + \def\mkbibordedition{\mkbibmascord}% + \def\mkbibordseries{\mkbibfemord}% + \savecommand\lbx@lfromlang + \savecommand\lbx@sfromlang + \def\lbx@lfromlang{% + \iflistundef{origlanguage} + {} + {\printlist[lfromoriglanguage]{origlanguage}\space}}% + \def\lbx@sfromlang{% + \iflistundef{origlanguage} + {} + {\printlist[sfromoriglanguage]{origlanguage}\space}}% + \let\lbx@lt@ifdayrange\@secondoftwo + \def\lbx@lt@ifdropdaystring{\lbx@lt@ifdayrange}% + \let\lbx@lt@ifmonthrange\@secondoftwo + \def\lbx@lt@ifdropmonthstring{\lbx@lt@ifmonthrange}% + \let\lbx@lt@ifyearrange\@secondoftwo + \def\lbx@lt@ifdropyearstring{\lbx@lt@ifyearrange}% + \protected\def\mkbibdatelong#1#2#3{% + \iffieldundef{#1} + {} + {\iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}% + \stripzeros{\thefield{#1}}% + \lbx@lt@ifdropyearstring + {} + {\addnbspace\bibstring{year}}}% + \iffieldundef{#2}{}{\addnbspace}}% + \iffieldundef{#2} + {} + {\lbx@lt@mkgenmonth{\thefield{#2}}% + \iffieldundef{#3} + {\lbx@lt@ifdropmonthstring + {} + {\addnbspace\bibstring{month}}} + {\addnbspace}}% + \iffieldundef{#3} + {} + {\stripzeros{\thefield{#3}}% + \lbx@lt@ifdropdaystring{}{\addnbspace\bibstring{day}}}% + }% + \protected\def\mkbibdateshort#1#2#3{% + \iffieldundef{#1} + {} + {\iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}% + \forcezerosy{\thefield{#1}}}}% + \iffieldundef{#2} + {} + {\iffieldundef{#1}{}{\bibdatesep}% + \forcezerosmdt{\thefield{#2}}}% + \iffieldundef{#3} + {} + {\iffieldundef{#2}{}{\bibdatesep}% + \forcezerosmdt{\thefield{#3}}}% + }% + \let\mkbibseasondatelong\mkbibseasondateshort + \savecommand\mkdaterangefull + \savecommand\mkdaterangefullextra + \savecommand\mkdaterangetrunc + \savecommand\mkdaterangetruncextra + \protected\def\mkdaterangefull{% + \lbx@lt@mkdaterangefull}% + \protected\def\mkdaterangefullextra{% + \lbx@lt@mkdaterangefullextra}% + \protected\def\mkdaterangetrunc{% + \lbx@lt@mkdaterangetrunc}% + \protected\def\mkdaterangetruncextra{% + \lbx@lt@mkdaterangetruncextra}% + \savecommand\bibtimesep + \protected\def\bibtimesep{.}% + \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{% + \iffieldundef{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% + \iffieldundef{#4}{} + {\bibtimezonesep + \mkbibtimezone{\thefield{#4}}}}% + \csletcs{mkbibtime12h}{mkbibtime24h}% + \protected\def\mkbibseasondateshort#1#2{% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}% + \iffieldundef{#1}{}{\addspace}% + \mkbibseason{\thefield{#2}}% + }% + \let\mkbibseasondatelong\mkbibseasondateshort +}% + +\UndeclareBibliographyExtras{% + \restorecommand\bibdatesep + \restorecommand\mkbibordedition + \restorecommand\mkbibordseries + \restorecommand\lbx@lfromlang + \restorecommand\lbx@sfromlang + \restorecommand\bibtimesep + \restorecommand\mkdaterangefull + \restorecommand\mkdaterangefullextra + \restorecommand\mkdaterangetrunc + \restorecommand\mkdaterangetruncextra +} + +\NewBibliographyString{% + genjanuary, + genfebruary, + genmarch, + genapril, + genmay, + genjune, + genjuly, + genaugust, + genseptember, + genoctober, + gennovember, + gendecember, + year, + month, + day, +} + +\DeclareBibliographyStrings{% + bibliography = {{Bibliografija}{Bibliografija}}, + references = {{Literatūros sąrašas}{Literatūra}}, + shorthands = {{Santrumpų sąrašas}{Santrumpos}}, + editor = {{sudarytojas}{sud\adddot}}, + editors = {{sudarytojai}{sud\adddot}}, + compiler = {{parengėjas}{pareng\adddot}},% FIXME: unsure + compilers = {{parengėjai}{pareng\adddot}},% FIXME: unsure + redactor = {{redaktorius}{red\adddot}}, + redactors = {{redaktoriai}{red\adddot}}, + reviser = {{korektorius}{kor\adddot}}, + revisers = {{korektoriai}{kor\adddot}}, + founder = {{pradininkas}{prad\adddot}},% FIXME: unsure + founders = {{pradininkai}{prad\adddot}},% FIXME: unsure + continuator = {{tęsėjas}{tęs\adddot}}, + continuators = {{tęsėjai}{tęs\adddot}}, + collaborator = {{bendradarbis}{bendr\adddot}}, + collaborators = {{bendradarbiai}{bendr\adddot}}, + translator = {{vertėjas}{vert\adddot}}, + translators = {{vertėjai}{vert\adddot}}, + commentator = {{komentarų autorius}{koment\adddotspace aut\adddot}}, + commentators = {{komentarų autoriai}{koment\adddotspace aut\adddot}}, + annotator = {{paaiškinimų autorius}{paaišk\adddotspace aut\adddot}}, + annotators = {{paaiškinimų autoriai}{paaišk\adddotspace aut\adddot}}, + commentary = {{komentarai}{koment\adddot}}, + annotations = {{paaiškinimai}{paaišk\adddot}}, + introduction = {{įvadas}{įv\adddot}}, + foreword = {{pratarmė}{prat\adddot}}, + afterword = {{pabaigos žodis}{pab\adddotspace žodis}}, + editortr = {{sudarytojas ir vertėjas}% + {sud\adddotspace ir vert\adddot}}, + editorstr = {{sudarytojai ir vertėjai}% + {sud\adddotspace ir vert\adddot}}, + editorco = {{sudarytojas ir komentarų autorius}% + {sud\adddotspace ir koment\adddotspace aut\adddot}}, + editorsco = {{sudarytojai ir komentarų autoriai}% + {sud\adddotspace ir koment\adddotspace aut\adddot}}, + editoran = {{sudarytojas ir paaiškinimų autorius}% + {sud\adddotspace ir paaišk\adddotspace aut\adddot}}, + editorsan = {{sudarytojai ir paaiškinimų autoriai}% + {sud\adddotspace ir paaišk\adddotspace aut\adddot}}, + editorin = {{sudarytojas ir įvado autorius}% + {sud\adddotspace ir įv\adddotspace aut\adddot}}, + editorsin = {{sudarytojai ir įvado autoriai}% + {sud\adddotspace ir įv\adddotspace aut\adddot}}, + editorfo = {{sudarytojas ir pratarmės autorius}% + {sud\adddotspace ir prat\adddotspace aut\adddot}}, + editorsfo = {{sudarytojai ir pratarmės autoriai}% + {sud\adddotspace ir prat\adddotspace aut\adddot}}, + editoraf = {{sudarytojas ir pabaigos žodžio autorius}% + {sud\adddotspace ir pab\adddotspace žodžio aut\adddot}}, + editorsaf = {{sudarytojai ir pabaigos žodžio autoriai}% + {sud\adddotspace ir pab\adddotspace žodžio aut\adddot}}, + editortrco = {{sudarytojas, vertėjas ir komentarų autorius}% + {sud., vert\adddotspace ir koment\adddotspace aut\adddot}}, + editorstrco = {{sudarytojai, vertėjai ir komentarų autoriai}% + {sud., vert\adddotspace ir koment\adddotspace aut\adddot}}, + editortran = {{sudarytojas, vertėjas ir paaiškinimų autorius}% + {sud., vert\adddotspace ir paaišk\adddotspace aut\adddot}}, + editorstran = {{sudarytojai, vertėjai ir paaiškinimų autoriai}% + {sud., vert\adddotspace ir paaišk\adddotspace aut\adddot}}, + editortrin = {{sudarytojas, vertėjas ir įvado autorius}% + {sud., vert\adddotspace ir įv\adddotspace aut\adddot}}, + editorstrin = {{sudarytojai, vertėjai ir įvado autoriai}% + {sud., vert\adddotspace ir įv\adddotspace aut\adddot}}, + editortrfo = {{sudarytojas, vertėjas ir pratarmės autorius}% + {sud., vert\adddotspace ir pratarmės\adddotspace aut\adddot}}, + editorstrfo = {{sudarytojai, vertėjai ir pratarmės autoriai}% + {sud., vert\adddotspace ir prat\adddotspace aut\adddot}}, + editortraf = {{sudarytojas, vertėjas ir pabaigos žodžio autorius}% + {sud., vert\adddotspace ir pab\adddotspace žodžio aut\adddot}}, + editorstraf = {{sudarytojai, vertėjai ir pabaigos žodžio autoriai}% + {sud., vert\adddotspace ir pab\adddotspace žodžio aut\adddot}}, + editorcoin = {{sudarytojas, komentarų ir įvado autorius}% + {sud., koment\adddotspace ir įv\adddotspace aut\adddot}}, + editorscoin = {{sudarytojai, komentarų ir įvado autoriai}% + {sud., koment\adddotspace ir įv\adddotspace aut\adddot}}, + editorcofo = {{sudarytojas, komentarų ir pratarmės autorius}% + {sud., koment\adddotspace ir prat\adddotspace aut\adddot}}, + editorscofo = {{sudarytojai, komentarų ir pratarmės autoriai}% + {sud., koment\adddotspace ir prat\adddotspace aut\adddot}}, + editorcoaf = {{sudarytojas, komentarų ir pabaigos žodžio autorius}% + {sud., koment\adddotspace ir pab\adddotspace žodžio aut\adddot}}, + editorscoaf = {{sudarytojai, komentarų ir pabaigos žodžio autoriai}% + {sud., koment\adddotspace ir pab\adddotspace žodžio aut\adddot}}, + editoranin = {{sudarytojas, paaiškinimų ir įvado autorius}% + {sud., paaišk\adddotspace ir įv\adddotspace aut\adddot}}, + editorsanin = {{sudarytojai, paaiškinimų ir įvado autoriai}% + {sud., paaišk\adddotspace ir įv\adddotspace aut\adddot}}, + editoranfo = {{sudarytojas, paaiškinimų ir pratarmės autorius}% + {sud., paaišk\adddotspace ir prat\adddotspace aut\adddot}}, + editorsanfo = {{sudarytojai, paaiškinimų ir pratarmės autoriai}% + {sud., paaišk\adddotspace ir prat\adddotspace aut\adddot}}, + editoranaf = {{sudarytojas, paaiškinimų ir pabaigos žodžio autorius}% + {sud., paaišk\adddotspace ir pab\adddotspace žodžio aut\adddot}}, + editorsanaf = {{sudarytojai, paaiškinimų ir pabaigos žodžio autoriai}% + {sud., paaišk\adddotspace ir pab\adddotspace žodžio aut\adddot}}, + editortrcoin = {{sudarytojas, vertėjas, komentarų ir įvado autorius}% + {sud., vert., koment\adddotspace ir įv\adddotspace aut\adddot}}, + editorstrcoin = {{sudarytojai, vertėjai, komentarų ir įvado autoriai}% + {sud., vert., koment\adddotspace ir įv\adddotspace aut\adddot}}, + editortrcofo = {{sudarytojas, vertėjas, komentarų ir pratarmės autorius}% + {sud., vert., koment\adddotspace ir prat\adddotspace aut\adddot}}, + editorstrcofo = {{sudarytojai, vertėjai, komentarų ir pratarmės autoriai}% + {sud., vert., koment\adddotspace ir prat\adddotspace aut\adddot}}, + editortrcoaf = {{sudarytojas, vertėjas, komentarų ir pabaigos žodžio autorius}% + {sud., vert., koment\adddotspace ir pab\adddotspace žodžio aut\adddot}}, + editorstrcoaf = {{sudarytojai, vertėjai, komentarų ir pabaigos žodžio autoriai}% + {sud., vert., koment\adddotspace ir pab\adddotspace žodžio aut\adddot}}, + editortranin = {{sudarytojas, vertėjas, paaiškinimų ir įvado autorius}% + {sud., vert., paaišk\adddotspace ir įv\adddotspace aut\adddot}}, + editorstranin = {{sudarytojai, vertėjai, paaiškinimų ir įvado autoriai}% + {sud., vert., paaišk\adddotspace ir įv\adddotspace aut\adddot}}, + editortranfo = {{sudarytojas, vertėjas, paaiškinimų ir pratarmės autorius}% + {sud., vert., paaišk\adddotspace ir prat\adddotspace aut\adddot}}, + editorstranfo = {{sudarytojai, vertėjai, paaiškinimų ir pratarmės autoriai}% + {sud., vert., paaišk\adddotspace ir prat\adddotspace aut\adddot}}, + editortranaf = {{sudarytojas, vertėjas, paaiškinimų ir pabaigos žodžio autorius}% + {sud., vert., paaišk\adddotspace ir pab\adddotspace žodžio aut\adddot}}, + editorstranaf = {{sudarytojai, vertėjai, paaiškinimų ir pabaigos žodžio autoriai}% + {sud., vert., paaišk\adddotspace ir pab\adddotspace žodžio aut\adddot}}, + translatorco = {{vertėjas ir komentarų autorius}% + {vert\adddotspace ir koment\adddotspace aut\adddot}}, + translatorsco = {{vertėjai ir komentarų autoriai}% + {vert\adddotspace ir koment\adddotspace aut\adddot}}, + translatoran = {{vertėjas ir paaiškinimų autorius}% + {vert\adddotspace ir paaišk\adddotspace aut\adddot}}, + translatorsan = {{vertėjai ir paaiškinimų autoriai}% + {vert\adddotspace ir paaišk\adddotspace aut\adddot}}, + translatorin = {{vertėjas ir įvado autorius}% + {vert\adddotspace ir įv\adddotspace aut\adddot}}, + translatorsin = {{vertėjai ir įvado autoriai}% + {vert\adddotspace ir įv\adddotspace aut\adddot}}, + translatorfo = {{vertėjas ir pratarmės autorius}% + {vert\adddotspace ir prat\adddotspace aut\adddot}}, + translatorsfo = {{vertėjai ir pratarmės autoriai}% + {vert\adddotspace ir prat\adddotspace aut\adddot}}, + translatoraf = {{vertėjas ir pabaigos žodžio autorius}% + {vert\adddotspace ir pab\adddotspace žodžio aut\adddot}}, + translatorsaf = {{vertėjai ir pabaigos žodžio autoriai}% + {vert\adddotspace ir pab\adddotspace žodžio aut\adddot}}, + translatorcoin = {{vertėjas, komentarų ir įvado autorius}% + {vert., koment\adddotspace ir įv\adddotspace aut\adddot}}, + translatorscoin = {{vertėjai, komentarų ir įvado autoriai}% + {vert., koment\adddotspace ir įv\adddotspace aut\adddot}}, + translatorcofo = {{vertėjas, komentarų ir pratarmės autorius}% + {vert., koment\adddotspace ir prat\adddotspace aut\adddot}}, + translatorscofo = {{vertėjai, komentarų ir pratarmės autoriai}% + {vert., koment\adddotspace ir prat\adddotspace aut\adddot}}, + translatorcoaf = {{vertėjas, komentarų ir pabaigos žodžio autorius}% + {vert., koment\adddotspace ir pab\adddotspace žodžio aut\adddot}}, + translatorscoaf = {{vertėjai, komentarų ir pabaigos žodžio autoriai}% + {vert., koment\adddotspace ir pab\adddotspace žodžio aut\adddot}}, + translatoranin = {{vertėjas, paaiškinimų ir įvado autorius}% + {vert., paaišk\adddotspace ir įv\adddotspace aut\adddot}}, + translatorsanin = {{vertėjai, paaiškinimų ir įvado autoriai}% + {vert., paaišk\adddotspace ir įv\adddotspace aut\adddot}}, + translatoranfo = {{vertėjas, paaiškinimų ir pratarmės autorius}% + {vert., paaišk\adddotspace ir prat\adddotspace aut\adddot}}, + translatorsanfo = {{vertėjai, paaiškinimų ir pratarmės autoriai}% + {vert., paaišk\adddotspace ir prat\adddotspace aut\adddot}}, + translatoranaf = {{vertėjas, paaiškinimų ir pabaigos žodžio autorius}% + {vert., paaišk\adddotspace ir pab\adddotspace žodžio aut\adddot}}, + translatorsanaf = {{vertėjai, paaiškinimų ir pabaigos žodžio autoriai}% + {vert., paaišk\adddotspace ir pab\adddotspace žodžio aut\adddot}}, + organizer = {{organizatorius}{org\adddot}}, + organizers = {{organizatoriai}{org\adddot}}, + byorganizer = {{organizavo}{org\adddot}}, +% byauthor = {{}{}}, %or sukūrė, or parašė + byeditor = {{sudarė}{sud\adddotspace}}, + bycompiler = {{parengė}{pareng\adddotspace}}, + byredactor = {{redagavo}{red\adddotspace}}, + byreviser = {{tikrino}{tikr\adddotspace}}, + byreviewer = {{recenzavo}{rec\adddotspace}}, + byfounder = {{pradėjo}{prad\adddotspace}}, + bycontinuator = {{tęsė}{tęs\adddotspace}}, + bycollaborator = {{bendradarbiaujant su}{bendradarb\adddotspace su}},% FIXME: unsure + bytranslator = {{\lbx@lfromlang išvertė}{\lbx@sfromlang vert\adddot}}, + bycommentator = {{komentarus parengė}{koment\adddot}}, + byannotator = {{paaiškinimus parengė}{paaišk\adddot}}, + withcommentator = {{komentarų autorius}{koment\adddotspace aut\adddot}}, + withannotator = {{paaiškinimų autorius}{paaišk\adddotspace aut\adddot}}, + withintroduction = {{įvado autorius}{įv\adddotspace aut\adddot}}, + withforeword = {{pratarmės autorius}{prat\adddotspace aut\adddot}}, + withafterword = {{pabaigos žodžio autorius}{pab\adddotspace žodžio aut\adddot}}, + byeditortr = {{sudarė ir \lbx@lfromlang išvertė}% + {sud\adddotspace ir \lbx@sfromlang vert\adddot}}, + byeditorco = {{sudarė ir komentarus parengė}% + {sud\adddotspace ir koment\adddotspace parengė}}, + byeditoran = {{sudarė ir paaiškinimus parengė}% + {sud\adddotspace ir paaišk\adddotspace parengė}}, + byeditorin = {{sudarė ir įvadą parašė}% + {sud\adddotspace ir įv\adddotspace parašė}}, + byeditorfo = {{sudarė ir pratarmę parašė}% + {sud\adddotspace ir prat\adddotspace parašė}}, + byeditoraf = {{sudarė ir pabaigos žodį parašė}% + {sud\adddotspace ir pab\adddotspace žodį parašė}}, + byeditortrco = {{sudarė, \lbx@lfromlang išvertė ir komentarus parengė}% + {sud., \lbx@sfromlang vert\adddotspace ir koment\adddotspace parengė}}, + byeditortran = {{sudarė, \lbx@lfromlang išvertė ir paaiškinimus parengė}% + {sud., \lbx@sfromlang vert\adddotspace ir paaišk\adddotspace parengė}}, + byeditortrin = {{sudarė, \lbx@lfromlang išvertė ir įvadą parašė}% + {sud., \lbx@sfromlang vert\adddotspace ir įv\adddotspace parašė}}, + byeditortrfo = {{sudarė, \lbx@lfromlang išvertė ir pratarmę parašė}% + {sud., \lbx@sfromlang vert\adddotspace ir prat\adddotspace parašė}}, + byeditortraf = {{sudarė, \lbx@lfromlang išvertė ir pabaigos žodį parašė}% + {sud., \lbx@sfromlang vert\adddotspace ir pab\adddotspace žodį parašė}}, + byeditorcoin = {{sudarė, komentarus parengė ir įvadą parašė}% + {sud., koment\adddotspace ir įv\adddotspace parašė}}, + byeditorcofo = {{sudarė, komentarus parengė ir pratarmę parašė}% + {sud., koment\adddotspace ir prat\adddotspace parašė}}, + byeditorcoaf = {{sudarė, komentarus parengė ir pabaigos žodį parašė}% + {sud., koment\adddotspace ir pab\adddotspace žodį parašė}}, + byeditoranin = {{sudarė, paaiškinimus parengė ir įvadą parašė}% + {sud., paaišk\adddotspace ir įv\adddotspace parašė}}, + byeditoranfo = {{sudarė, paaiškinimus parengė ir pratarmę parašė}% + {sud., paaišk\adddotspace ir prat\adddotspace parašė}}, + byeditoranaf = {{sudarė, paaiškinimus parengė ir pabaigos žodį parašė}% + {sud., paaišk\adddotspace ir pab\adddotspace žodį parašė}}, + byeditortrcoin = {{sudarė, \lbx@lfromlang išvertė, komentarus parengė ir įvadą parašė}% + {sud., \lbx@sfromlang vert\adddot, koment\adddotspace ir įvad\adddotspace parašė}}, + byeditortrcofo = {{sudarė, \lbx@lfromlang išvertė, komentarus parengė ir pratarmę parašė}% + {sud., \lbx@sfromlang vert\adddot, koment\adddotspace ir prat\adddotspace parašė}}, + byeditortrcoaf = {{sudarė, \lbx@lfromlang išvertė, komentarus ir pabaigos žodį parašė}% + {sud., \lbx@sfromlang vert\adddot, koment\adddotspace ir pab\adddotspace žodį parašė}}, + byeditortranin = {{sudarė, \lbx@lfromlang išvertė, paaiškinimus parengė ir įvadą parašė}% + {sud., \lbx@sfromlang vert\adddot, paaišk\adddotspace ir pab\adddotspace žodį parašė}}, + byeditortranfo = {{sudarė, \lbx@lfromlang išvertė, paaiškinimus parengė ir pratarmę parašė}% + {sud., \lbx@sfromlang vert\adddot, paaišk\adddotspace ir prat\adddotspace parašė}}, + byeditortranaf = {{sudarė, \lbx@lfromlang išvertė, paaiškinimus parengė ir pabaigos žodį parašė}% + {sud., \lbx@sfromlang vert\adddot, paaišk\adddotspace ir pab\adddotspace žodį parašė}}, + bytranslatorco = {{\lbx@lfromlang išvertė ir komentarus parengė}% + {\lbx@sfromlang vert\adddotspace ir koment\adddotspace parengė}}, + bytranslatoran = {{\lbx@lfromlang išvertė ir paaiškinimus parengė}% + {\lbx@sfromlang vert\adddotspace ir paaišk\adddotspace parengė}}, + bytranslatorin = {{\lbx@lfromlang išvertė ir įvadą parašė}% + {\lbx@sfromlang vert\adddotspace ir įv\adddotspace parašė}}, + bytranslatorfo = {{\lbx@lfromlang išvertė ir pratarmę parašė}% + {\lbx@sfromlang vert\adddotspace ir prat\adddotspace parašė}}, + bytranslatoraf = {{\lbx@lfromlang išvertė ir pabaigos žodį parašė}% + {\lbx@sfromlang vert\adddotspace ir pab\adddotspace žodį parašė}}, + bytranslatorcoin = {{\lbx@lfromlang išvertė, komentarus parengė ir įvadą parašė}% + {\lbx@sfromlang vert\adddot, koment\adddotspace ir įv\adddotspace parašė}}, + bytranslatorcofo = {{\lbx@lfromlang išvertė, komentarus parengė ir pratarmę parašė}% + {\lbx@sfromlang vert\adddot, koment\adddotspace ir prat\adddotspace parašė}}, + bytranslatorcoaf = {{\lbx@lfromlang išvertė, komentarus parengė ir pabaigos žodį parašė}% + {\lbx@sfromlang vert\adddot, koment\adddotspace ir pab\adddotspace žodį parašė}}, + bytranslatoranin = {{\lbx@lfromlang išvertė, paaiškinimus parengė ir įvadą parašė}% + {\lbx@sfromlang vert\adddot, paaišk\adddotspace ir įv\adddotspace parašė}}, + bytranslatoranfo = {{\lbx@lfromlang išvertė, paaiškinimus parengė ir pratarmę parašė}% + {\lbx@sfromlang vert\adddot, paaišk\adddotspace ir prat\adddotspace parašė}}, + bytranslatoranaf = {{\lbx@lfromlang išvertė, paaiškinimus parengė ir pabaigos žodį parašė}% + {\lbx@sfromlang vert\adddot, paaišk\adddotspace ir pab\adddotspace žodį parašė}}, % + and = {{ir}{ir}}, + andothers = {{ir kiti}{ir kt\adddot}}, + andmore = {{ir taip toliau}{ir t\adddotspace t\adddot}}, + volume = {{tomas}{t\adddot}}, + volumes = {{tomai}{t\adddot}}, +% involumes = {{}{}}, + jourvol = {{tomas}{t\adddot}}, + jourser = {{serija}{ser\adddot}}, + book = {{knyga}{kn\adddot}}, + part = {{dalis}{d\adddot}}, + issue = {{numeris}{Nr.}}, + newseries = {{nauja serija}{nauj\adddotspace ser\adddot}}, + oldseries = {{sena serija}{sen\adddotspace ser\adddot}}, + edition = {{leidimas}{leid\adddot}}, + reprint = {{pakartotinis leidimas}{pakartot\adddotspace leid\adddot}}, + reprintof = {{pakartotinis leidimas}{pakartot\adddotspace leid\adddot}},% FIXME: unsure + reprintas = {{perspausdinta kaip}{perspausdinta kaip}}, + reprintfrom = {{perspausdinta iš}{perspausdinta iš}}, + reviewof = {{recenzija}{rec\adddotspace}}, + translationof = {{versta iš leidinio}{vert\adddotspace iš leid\adddot}}, + translationas = {{išversta kaip}{išversta kaip}}, + translationfrom = {{vertimas iš}{vert\adddotspace iš}}, + origpubas = {{originaliai publikuotas kaip}{orig\adddotspace publ\adddotspace kaip}}, + origpubin = {{originaliai publikuotas}{orig\adddotspace publ\adddotspace}}, + astitle = {{pavadinimu}{pavadinimu}},%or kaip + bypublisher = {{leidykloje}{leidykloje}},% FIXME: unsure + page = {{puslapis}{p\adddot}}, + pages = {{puslapiai}{p\adddot}}, + column = {{skiltis}{skilt\adddot}}, + columns = {{skiltys}{skilt\adddot}}, + line = {{eilutė}{eil\adddot}}, + lines = {{eilutės}{eil\adddot}}, + nodate = {{sine anno}{s\adddotspace a\adddot}}, + verse = {{eilutė}{eil\adddot}}, + verses = {{eilutės}{eil\adddot}}, + section = {{paragrafas}{paragr\adddot}}, + sections = {{paragrafai}{paragr\adddot}}, + paragraph = {{pastraipa}{pastr\adddot}}, + paragraphs = {{pastraipos}{pastr\adddot}}, + pagetotal = {{puslapis}{p\adddot}}, + pagetotals = {{puslapiai}{p\adddot}}, + columntotal = {{skiltis}{skilt\adddot}}, + columntotals = {{skiltys}{skilt\adddot}}, + linetotal = {{eilutė}{eil\adddot}}, + linetotals = {{eilutės}{eil\adddot}}, + versetotal = {{eilutė}{eil\adddot}}, + versetotals = {{eilutės}{eil\adddot}}, + sectiontotal = {{paragrafas}{paragr\adddot}}, + sectiontotals = {{paragrafai}{paragr\adddot}}, + paragraphtotal = {{pastraipa}{pastr\adddot}}, + paragraphtotals = {{pastraipos}{pastr\adddot}}, + in = {{in}{in}}, +% inseries = {{}{}},%or in + ofseries = {{iš}{iš}}, + number = {{numeris}{Nr\adddot}}, + chapter = {{skyrius}{sk\adddot}}, + bathesis = {{bakalauro darbas}{bak\adddotspace darb\adddot}}, + mathesis = {{magistro darbas}{mag\adddotspace darb\adddot}}, + phdthesis = {{disertacija}{disert\adddot}}, + candthesis = {{disertacija}{disert\adddot}}, + resreport = {{mokslinė ataskaita}{moksl\adddotspace atask\adddot}}, + techreport = {{techninė ataskaita}{techn\adddotspace atask\adddot}}, + software = {{programinė įranga}{PĮ}}, + datacd = {{CD-ROM}{CD-ROM}}, + audiocd = {{audio CD}{audio CD}}, + version = {{versija}{vers\adddot}}, + url = {{interaktyvus}{interaktyvus}}, + urlfrom = {{pasiekiamas per}{pasiekiamas per}}, + urlseen = {{tikrinta}{tikrinta}}, + inpreparation = {{rengiamas}{rengiamas}}, + submitted = {{pateiktas}{pateiktas}}, + forthcoming = {{pasirodysiantis}{pasirodysiantis}}, + inpress = {{spaudoje}{spaudoje}}, + prepublished = {{išankstinė publikacija}{išankstinė publ\adddot}}, + citedas = {{nuo šiol cituojamas kaip}{nuo šiol}}, + thiscite = {{čia}{čia}}, + seenote = {{žiūrėk nuorodą}{žr\adddotspace nuor\adddot}}, + quotedin = {{cituota}{cituota}}, + idem = {{tas pats}{t\adddotspace p\adddot}}, + idemsm = {{tas pats}{t\adddotspace p\adddot}}, + idemsf = {{ta pati}{t\adddotspace p\adddot}}, + idemsn = {{tas pats}{t\adddotspace p\adddot}}, + idempm = {{tie patys}{t\adddotspace p\adddot}}, + idempf = {{tos pačios}{t\adddotspace p\adddot}}, + idempn = {{tie patys}{t\adddotspace p\adddot}}, + idempp = {{tie patys}{t\adddotspace p\adddot}}, + ibidem = {{ten pat}{ten pat}}, + opcit = {{op\adddotspace cit\adddot}{op\adddotspace cit\adddot}}, + loccit = {{loc\adddotspace cit\adddot}{loc\adddotspace cit\adddot}}, + confer = {{palygink}{plg\adddot}}, + sequens = {{ir sekantis}{ir kt\adddot}}, + sequentes = {{ir sekantys}{ir kt\adddot}}, + passim = {{passim}{pass\adddot}}, + see = {{žiūrėk}{žr\adddot}}, + seealso = {{taip pat žiūrėk}{t\adddotspace p\adddotspace žr\adddot}}, + backrefpage = {{cituota puslapyje}{cit\adddotspace psl\adddot}}, + backrefpages = {{cituota puslapiuose}{cit\adddotspace psl\adddot}}, + january = {{sausis}{saus\adddot}}, + february = {{vasaris}{vas\adddot}}, + march = {{kovas}{kov\adddot}}, + april = {{balandis}{bal\adddot}}, + may = {{gegužė}{geg\adddot}}, + june = {{birželis}{birž\adddot}}, + july = {{liepa}{liepa}}, + august = {{rugpjūtis}{rugpj\adddot}}, + september = {{rugsėjis}{rugs\adddot}}, + october = {{spalis}{spal\adddot}}, + november = {{lapkritis}{lapkr\adddot}}, + december = {{gruodis}{gruod\adddot}}, + genjanuary = {{sausio}{saus\adddot}}, + genfebruary = {{vasario}{vas\adddot}}, + genmarch = {{kovo}{kov\adddot}}, + genapril = {{balandžio}{bal\adddot}}, + genmay = {{gegužės}{geg\adddot}}, + genjune = {{birželio}{birž\adddot}}, + genjuly = {{liepos}{liep\adddot}}, + genaugust = {{rugpjūčio}{rugpj\adddot}}, + genseptember = {{rugsėjo}{rugs\adddot}}, + genoctober = {{spalio}{spal\adddot}}, + gennovember = {{lapkričio}{lapkr\adddot}}, + gendecember = {{gruodžio}{gruod\adddot}}, + langamerican = {{amerikiečių kalba}{amer\adddotspace k\adddot}}, + langbrazilian = {{brazilų kalba}{braz\adddotspace k\adddot}}, + langbulgarian = {{bulgarų kalba}{bulgarų k\adddot}}, + langcatalan = {{katalonų kalba}{katalonų k\adddot}}, + langcroatian = {{kroatų kalba}{kroatų k\adddot}}, + langczech = {{čekų kalba}{čekų k\adddot}}, + langdanish = {{danų kalba}{danų k\adddot}}, + langdutch = {{olandų kalba}{olandų k\adddot}}, + langenglish = {{anglų kalba}{anglų k\adddot}}, + langestonian = {{estų kalba}{estų k\adddot}}, + langfinnish = {{suomių kalba}{suomių k\adddot}}, + langfrench = {{prancūzų kalba}{pranc\adddotspace k\adddot}}, + langgerman = {{vokiečių kalba}{vok\adddotspace k\adddot}}, + langgreek = {{graikų kalba}{graikų k\adddot}}, + langhungarian = {{vengrų kalba}{vengrų k\adddot}}, + langitalian = {{italų kalba}{it\adddotspace k\adddot}}, + langjapanese = {{japonų kalba}{japonų k\adddot}}, + langlatin = {{lotynų kalba}{lot\adddotspace k\adddot}}, + langlatvian = {{latvių kalba}{latv\adddotspace k\adddot}}, + langlithuanian = {{lietuvių kalba}{liet\adddotspace k\adddot}}, + langnorwegian = {{norvegų kalba}{norv\adddotspace k\adddot}}, + langpolish = {{lenkų kalba}{lenkų k\adddot}}, + langportuguese = {{portugalų kalba}{portug\adddotspace k\adddot}}, + langrussian = {{rusų kalba}{rusų k\adddot}}, + langserbian = {{serbų kalba}{serbų k\adddot}}, + langslovak = {{slovakų kalba}{slovakų k\adddot}}, + langslovene = {{slovėnų kalba}{slovėnų k\adddot}}, + langspanish = {{ispanų kalba}{isp\adddotspace k\adddot}}, + langswedish = {{švedų kalba}{švedų k\adddot}}, + langturkish = {{turkų kalba}{turkų k\adddot}}, + langukrainian = {{ukrainiečių kalba}{ukrain\adddotspace k\adddot}}, + fromamerican = {{iš amerikiečių kalbos}{iš amer\adddotspace k\adddot}}, + frombrazilian = {{iš brazilų kalbos}{iš braz\adddotspace k\adddot}}, + frombulgarian = {{iš bulgarų kalbos}{iš bulgarų k\adddot}}, + fromcatalan = {{iš katalonų kalbos}{iš katalonų k\adddot}}, + fromcroatian = {{iš kroatų kalbos}{iš kroatų k\adddot}}, + fromczech = {{iš čekų kalbos}{iš čekų k\adddot}}, + fromdanish = {{iš danų kalbos}{iš danų k\adddot}}, + fromdutch = {{iš olandų kalbos}{iš olandų k\adddot}}, + fromenglish = {{iš anglų kalbos}{iš anglų k\adddot}}, + fromestonian = {{iš estų kalbos}{iš estų k\adddot}}, + fromfinnish = {{iš suomių kalbos}{iš suomių k\adddot}}, + fromfrench = {{iš prancūzų kalbos}{iš pranc\adddotspace k\adddot}}, + fromgerman = {{iš vokiečių kalbos}{iš vok\adddotspace k\adddot}}, + fromgreek = {{iš graikų kalbos}{iš graikų k\adddot}}, + fromhungarian = {{iš vengrų kalbos}{iš vengrų k\adddot}}, + fromitalian = {{iš italų kalbos}{iš italų k\adddot}}, + fromjapanese = {{iš japonų kalbos}{iš japonų k\adddot}}, + fromlatin = {{iš lotynų kalbos}{iš lot\adddotspace k\adddot}}, + fromlatvian = {{iš latvių kalbos}{iš latvių k\adddot}}, + fromnorwegian = {{iš norvegų kalbos}{iš norv\adddotspace k\adddot}}, + frompolish = {{iš lenkų kalbos}{iš lenkų k\adddot}}, + fromportuguese = {{iš portugalų kalbos}{iš portug\adddotspace k\adddot}}, + fromrussian = {{iš rusų kalbos}{iš rusų k\adddot}}, + fromserbian = {{iš serbų kalbos}{iš serbų k\adddot}}, + fromslovak = {{iš slovakų kalbos}{iš slovakų k\adddot}}, + fromslovene = {{iš slovėnų kalbos}{iš slovėnų k\adddot}}, + fromspanish = {{iš ispanų kalbos}{iš isp\adddotspace k\adddot}}, + fromswedish = {{iš švedų kalbos}{iš švedų k\adddot}}, + fromturkish = {{iš turkų kalbos}{iš turkų k\adddot}}, + fromukrainian = {{iš ukrainiečių kalbos}{iš ukrain\adddotspace k\adddot}}, + countryde = {{Vokietija}{DE}}, + countryeu = {{Europos Sąjunga}{EU}}, + countryep = {{Europos Sąjunga}{EP}}, + countryfr = {{Prancūzija}{FR}}, + countryuk = {{Didžioji Britanija}{DB}}, + countryus = {{Jungtinės Amerikos Valstijos}{JAV}}, + patent = {{patentas}{pat\adddot}}, + patentde = {{vokiškas patentas}{vokiškas pat\adddot}}, + patenteu = {{europinis patentas}{europinis pat\adddot}}, + patentfr = {{prancūziškas patentas}{prancūziškas pat\adddot}}, + patentuk = {{angliškas patentas}{angliškas pat\adddot}}, + patentus = {{JAV\addspace patentas}{JAV\addspace pat\adddot}}, + patreq = {{patento prašymas}{pat\adddotspace praš\adddot}}, + patreqde = {{vokiško patento prašymas}{vokiško pat\adddotspace praš\adddot}}, + patreqeu = {{europinio patento prašymas}{europinio pat\adddotspace praš\adddot}}, + patreqfr = {{prancūziško patento prašymas}{prancūziško pat\adddotspace praš\adddot}}, + patrequk = {{angliško patento prašymas}{angliško pat\adddotspace praš\adddot}}, + patrequs = {{JAV\addspace patento prašymas}{JAV\addspace pat\adddot\ praš\adddot}}, + file = {{byla}{b\adddot}}, + library = {{biblioteka}{bibl\adddot}}, + abstract = {{santrauka}{santr\adddot}}, + annotation = {{paaiškinimas}{paaišk\adddot}}, + commonera = {{mūsų eros}{m\adddotspace e\adddot}}, + beforecommonera = {{prieš mūsų erą}{pr\adddotspace m\adddotspace e\adddot}}, + annodomini = {{po Kristaus gimimo}{po\space Kr\adddot}}, + beforechrist = {{prieš Kristaus giminimą}{pr\adddotspace Kr\adddot}}, + circa = {{apie}{apie}}, + spring = {{pavasaris}{pav\adddot}}, + summer = {{vasara}{vas\adddot}}, + autumn = {{ruduo}{ruduo}}, + winter = {{žiema}{žiema}}, +% am = {{}{}}, +% pm = {{}{}}, + year = {{m\adddot}{m\adddot}}, + month = {{mėn\adddot}{mėn\adddot}}, + day = {{d\adddot}{d\adddot}}, +} + + +\protected\gdef\lbx@lt@mkgenmonth#1{% + \ifcase0#1\relax + #1\BibliographyWarning{Month out of range}% + \or\abx@bibmonth{genjanuary}% + \or\abx@bibmonth{genfebruary}% + \or\abx@bibmonth{genmarch}% + \or\abx@bibmonth{genapril}% + \or\abx@bibmonth{genmay}% + \or\abx@bibmonth{genjune}% + \or\abx@bibmonth{genjuly}% + \or\abx@bibmonth{genaugust}% + \or\abx@bibmonth{genseptember}% + \or\abx@bibmonth{genoctober}% + \or\abx@bibmonth{gennovember}% + \or\abx@bibmonth{gendecember}% + \else + #1\BibliographyWarning{Month out of range}% + \fi}% + +\protected\gdef\lbx@lt@ifdayrange@i#1{% + \ifboolexpr{not test {\iffieldundef{#1endyear}} + and test {\iffieldsequal{#1year}{#1endyear}} + and test {\iffieldsequal{#1month}{#1endmonth}} + and (test {\iffieldundef{#1hour}} + or not togl {blx@#1dateusetime})}} + +\protected\gdef\lbx@lt@ifmonthrange@i#1{% + \ifboolexpr{not test {\iffieldundef{#1endyear}} + and test {\iffieldsequal{#1year}{#1endyear}} + and test {\iffieldundef{#1day}} + and test {\iffieldundef{#1endday}}}} + +\protected\gdef\lbx@lt@ifyearrange@i#1{% + \ifboolexpr{not test {\iffieldundef{#1endyear}} + and test {\iffieldundef{#1month}} + and test {\iffieldundef{#1endmonth}}}} + +\gdef\lbx@lt@ifdatenumrange{% + \lbx@lt@ifyearrange + {\@firstoftwo} + {\lbx@lt@ifdayrange}} + +\protected\gdef\lbx@lt@mkdaterangetrunc#1#2{% + \blx@if@printanytimes{#2} + {\mkdaterangefull{#1}{#2}} + {\lbx@lt@mkdaterangetrunc@i{#1}{#2}}} + +\protected\gdef\lbx@lt@mkdaterangetrunc@i#1#2{% + \begingroup + \blx@metadateinfo{#2}% + \edef\lbx@lt@ifdayrange{\lbx@lt@ifdayrange@i{#2}}% + \edef\lbx@lt@ifmonthrange{\lbx@lt@ifmonthrange@i{#2}}% + \edef\lbx@lt@ifyearrange{\lbx@lt@ifyearrange@i{#2}}% + \iffieldundef{#2year} + {} + {\printtext[{#2date}]{% + \datecircaprint + \iffieldundef{#2season} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \blx@printtime{#2}{}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}}% + \dateeraprint{#2year}% + \dateuncertainprint + \iffieldundef{#2endyear} + {} + {\iffieldequalstr{#2endyear}{} + {\mbox{\csuse{lbx@lt@bibdaterangesep#1}}} + {\lbx@lt@ifdatenumrange + {\csuse{lbx@lt@bibnumdaterangesep#1}} + {\csuse{lbx@lt@bibdaterangesep#1}}% + \let\lbx@lt@ifdropdaystring\@secondoftwo + \let\lbx@lt@ifdropmonthstring\@secondoftwo + \let\lbx@lt@ifdropyearstring\@secondoftwo + \enddatecircaprint + \iffieldundef{#2season} + {\iffieldsequal{#2year}{#2endyear} + {\iffieldsequal{#2month}{#2endmonth} + {\csuse{mkbibdate#1}{}{}{#2endday}} + {\csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% + \blx@printtime{#2}{end}} + {\iffieldsequal{#2year}{#2endyear} + {\csuse{mkbibseasondate#1}{}{#2endseason}} + {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}}% + \endgroup} + +\protected\gdef\lbx@lt@mkdaterangetruncextra#1#2{% + \blx@if@printanytimes{#2} + {\mkdaterangefullextra{#1}{#2}} + {\lbx@lt@mkdaterangetruncextra@i{#1}{#2}}} + +\protected\gdef\lbx@lt@mkdaterangetruncextra@i#1#2{% + \begingroup + \blx@metadateinfo{#2}% + \edef\lbx@lt@ifdayrange{\lbx@lt@ifdayrange@i{#2}}% + \edef\lbx@lt@ifmonthrange{\lbx@lt@ifmonthrange@i{#2}}% + \edef\lbx@lt@ifyearrange{\lbx@lt@ifyearrange@i{#2}}% + \iffieldundef{#2year} + {} + {\printtext[{#2date}]{% + \datecircaprint + \iffieldundef{#2season} + {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% + \blx@printtime{#2}{}}% + {\csuse{mkbibseasondate#1}{#2year}{#2season}}% + \dateeraprint{#2year}% + \dateuncertainprint + \iffieldundef{#2endyear} + {\printfield{extradate}} + {\iffieldequalstr{#2endyear}{} + {\printfield{extradate}% + \mbox{\csuse{lbx@lt@bibdaterangesep#1}}} + {\lbx@lt@ifdatenumrange + {\csuse{lbx@lt@bibnumdaterangesep#1}} + {\csuse{lbx@lt@bibdaterangesep#1}}% + \let\lbx@lt@ifdropdaystring\@secondoftwo + \let\lbx@lt@ifdropmonthstring\@secondoftwo + \let\lbx@lt@ifdropyearstring\@secondoftwo + \enddatecircaprint + \iffieldundef{#2season} + {\iffieldsequal{#2year}{#2endyear} + {\iffieldsequal{#2month}{#2endmonth} + {\csuse{mkbibdate#1}{}{}{#2endday}} + {\csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% + \blx@printtime{#2}{end}} + {\iffieldsequal{#2year}{#2endyear} + {\csuse{mkbibseasondate#1}{}{#2endseason}} + {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% + \printfield{extradate}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}}% + \endgroup} + +\protected\gdef\lbx@lt@mkdaterangefull#1#2{% + \begingroup + \blx@metadateinfo{#2}% + \iffieldundef{#2year} + {\blx@nounit} + {\printtext[{#2date}]{% + \datecircaprint + % Such a season component can only come from an ISO8601 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{\csuse{lbx@lt@bibdaterangesep#1}}} + {\csuse{lbx@lt@bibdaterangesep#1}% + \enddatecircaprint + \iffieldundef{#2endseason} + {\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}}}}}% + \endgroup} + +\protected\gdef\lbx@lt@mkdaterangefullextra#1#2{% + \begingroup + \blx@metadateinfo{#2}% + \iffieldundef{#2year} + {\blx@nounit} + {\printtext[{#2date}]{% + \datecircaprint + % Such a season component can only come from an ISO8601 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{extradate}} + {\iffieldequalstr{#2endyear}{} + {\printfield{extradate}% + \mbox{\csuse{lbx@lt@bibdaterangesep#1}}} + {\csuse{lbx@lt@bibdaterangesep#1}% + \enddatecircaprint + \iffieldundef{#2endseason} + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% + % Optionally print the time after the date + \blx@printtime{#2}{end}} + {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% + \printfield{extradate}% + \enddateuncertainprint + \dateeraprint{#2endyear}}}}% + \endgroup} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/magyar.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/magyar.lbx index f94e50eaa85..73bfdebbea2 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/magyar.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/magyar.lbx @@ -29,7 +29,8 @@ \protected\def\mkbibmascord{\mkbibordinal}% \protected\def\mkbibfemord{\mkbibordinal}% \protected\def\mkbibneutord{\mkbibordinal}% - \let\lbx@hu@dayrange\@secondoftwo + \let\lbx@hu@ifdayrange\@secondoftwo + \def\lbx@hu@ifplainday{\lbx@hu@ifdayrange}% \protected\def\mkbibdatelong#1#2#3{% \iffieldundef{#1} {} @@ -45,7 +46,7 @@ \iffieldundef{#3}{}{\nobreakspace}}% \iffieldundef{#3} {} - {\lbx@hu@dayrange{\thefield{#3}}{\mkbibordinal{\thefield{#3}}}}% + {\lbx@hu@ifplainday{\thefield{#3}}{\mkbibordinal{\thefield{#3}}}}% }% \protected\def\mkbibdateshort#1#2#3{% \iffieldundef{#1} @@ -62,7 +63,7 @@ \iffieldundef{#3}{}{\nobreakspace}}% \iffieldundef{#3} {} - {\mkdayzeros{\thefield{#3}}\lbx@hu@dayrange{}{\adddot}}% + {\mkdayzeros{\thefield{#3}}\lbx@hu@ifdayrange{}{\adddot}}% }% \let\mkbibseasondatelong\mkbibseasondateshort \savecommand\mkdaterangecomp @@ -77,21 +78,25 @@ \lbx@hu@mkdaterangetruncextra{long}}% \protected\def\mkdaterangeterseextra{% \lbx@hu@mkdaterangetruncextra{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{}% + \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{% + \iffieldundef{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% \csletcs{mkbibtime12h}{mkbibtime24h}% \protected\def\mkbibseasondateshort#1#2{% \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}% - \iffieldundef{#1}{}{\adddot\space} + \iffieldundef{#1}{}{\adddot\space}% \mkbibseason{\thefield{#2}}% }% \let\mkbibseasondatelong\mkbibseasondateshort @@ -111,7 +116,7 @@ % this redefines \mkpageprefix to put the page number as suffix \savecommand\blx@mkpageprefix \protected\long\def\blx@mkpageprefix#1[#2]#3{% - \blx@mkpageprefix@i[#2]{#3}% + \blx@mkpageprefix@i[{#2}]{#3}% \ifnumeral{#3} {\ppspace\bibstring{#1}} {\ifnumerals{#3} @@ -139,12 +144,12 @@ \mkpageprefix[pagination][\lbx@hu@mkdottednormrange]{#1}}% \savefieldformat{chapter}% \DeclareFieldFormat{chapter}{% - \ifnumerals{#1}{\mkbibordinal{#1}}{#1} + \ifnumerals{#1}{\mkbibordinal{#1}}{#1}% \addnbspace \bibstring{chapter}}% \savefieldformat{volume}% \DeclareFieldFormat{volume}{% - \ifnumerals{#1}{\mkbibordinal{#1}}{#1} + \ifnumerals{#1}{\mkbibordinal{#1}}{#1}% \addnbspace \bibstring{volume}}% \savefieldformat{part}% @@ -160,7 +165,7 @@ \bibstring{part}}% \savefieldformat{version}% \DeclareFieldFormat{version}{% - \ifnumerals{#1}{\mkbibordinal{#1}}{#1} + \ifnumerals{#1}{\mkbibordinal{#1}}{#1}% \addnbspace \bibstring{version}}% } @@ -462,7 +467,7 @@ % translationfrom = {{}{}},% FIXME need example reviewof = {{recenzi\'oja}{rec\adddot}},% FIXME swap word order origpubas = {{eredeti c\'ime}{ered\adddotspace c\'im}}, - origpubin = {{eredeti kiad\'as}{ered\adddotspace kiad\adddotspace}}, + origpubin = {{eredeti kiad\'as}{ered\adddotspace kiad\adddot}}, % astitle = {{}{}},% FIXME need example % bypublisher = {{\addcomma}{\addcomma}},% FIXME: this is a cludge that can not be guaranteed to work in most situations, so it stays commented out nodate = {{\'ev n\'elk\"ul}{\'e\adddotspace n\adddot}}, @@ -641,7 +646,7 @@ pm = {{d\'elut\'an}{du\adddot}}, } -\protected\gdef\lbx@hu@dayrange@i#1{% +\protected\gdef\lbx@hu@ifdayrange@i#1{% \ifboolexpr{not test {\iffieldundef{#1endyear}} and test {\iffieldsequal{#1year}{#1endyear}} and test {\iffieldsequal{#1month}{#1endmonth}} @@ -656,10 +661,10 @@ \protected\gdef\lbx@hu@mkdaterangetrunc@i#1#2{% \begingroup \blx@metadateinfo{#2}% - \edef\lbx@hu@dayrange{\lbx@hu@dayrange@i{#2}}% + \edef\lbx@hu@ifdayrange{\lbx@hu@ifdayrange@i{#2}}% \iffieldundef{#2year} {} - {\printtext[#2date]{% + {\printtext[{#2date}]{% \datecircaprint \iffieldundef{#2season} {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% @@ -671,8 +676,8 @@ {} {\iffieldequalstr{#2endyear}{} {\mbox{\bibdaterangesep}} - {\lbx@hu@dayrange{\bibrangedash}{\bibdaterangesep}% - \let\lbx@hu@dayrange\@secondoftwo + {\lbx@hu@ifdayrange{\bibrangedash}{\bibdaterangesep}% + \let\lbx@hu@ifplainday\@secondoftwo \enddatecircaprint \iffieldundef{#2season} {\iffieldsequal{#2year}{#2endyear} @@ -696,10 +701,10 @@ \protected\gdef\lbx@hu@mkdaterangetruncextra@i#1#2{% \begingroup \blx@metadateinfo{#2}% - \edef\lbx@hu@dayrange{\lbx@hu@dayrange@i{#2}}% + \edef\lbx@hu@ifdayrange{\lbx@hu@ifdayrange@i{#2}}% \iffieldundef{#2year} {} - {\printtext[#2date]{% + {\printtext[{#2date}]{% \datecircaprint \iffieldundef{#2season} {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}% @@ -712,8 +717,8 @@ {\iffieldequalstr{#2endyear}{} {\printfield{extradate}% \mbox{\bibdaterangesep}} - {\lbx@hu@dayrange{\bibrangedash}{\bibdaterangesep}% - \let\lbx@hu@dayrange\@secondoftwo + {\lbx@hu@ifdayrange{\bibrangedash}{\bibdaterangesep}% + \let\lbx@hu@ifplainday\@secondoftwo \enddatecircaprint \iffieldundef{#2season} {\iffieldsequal{#2year}{#2endyear} diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/norsk.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/norsk.lbx index c03ddca2daf..76aa28fee66 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/norsk.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/norsk.lbx @@ -36,13 +36,17 @@ {\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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx index 7618a69ec5a..50ae2383f40 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx @@ -44,13 +44,17 @@ \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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx index 3526b7968fc..d408904515f 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx @@ -43,13 +43,17 @@ \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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx index bc7817c5461..7d2cf694b1a 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx @@ -9,7 +9,7 @@ {} {\PackageError{biblatex} {Russian requires UTF-8 support} - {The 'russian.lbx' file requires UTF-8 encoding but you + {The file 'russian.lbx' requires UTF-8 encoding but you seem\MessageBreak to be using a different encoding. This is a fatal error. I will\MessageBreak abort loading russian.lbx now.}% @@ -70,13 +70,17 @@ \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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/serbian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/serbian.lbx new file mode 100644 index 00000000000..52faffd9312 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/serbian.lbx @@ -0,0 +1,440 @@ +\ProvidesFile{serbian.lbx} +[\abx@lbxid] + +% Translator's notes: +% +% This file is generated from a template and YAML localization string +% collection by a script +% You can said files at https://gitlab.com/andrejr/biblatex-serbian. +% Please don't modify this file by hand -- contribute your changes upstream and +% then send a pull request with the generated file to the official biblatex +% repo (https://github.com/plk/biblatex). +% +% This is done so we could generate both `serbian.lbx` (Latin) and +% `serbianc.lbx` (Cyrillic) from the same set of localization strings. + + +\DeclareRedundantLanguages{serbian}{serbian} + +\DeclareBibliographyExtras{% + \protected\def\bibrangedash{\textendash\penalty\hyphenpenalty}% + \protected\def\mkbibordinal#1{\stripzeros{#1}\adddot}% + \protected\def\mkbibmascord{\mkbibordinal}% + \protected\def\mkbibfemord{\mkbibordinal}% + \protected\def\mkbibneutord{\mkbibordinal}% + \protected\def\bibtimesep{.}% + %\savecommand\mkbibordedition + %\savecommand\mkbibordseries + \def\mkbibordedition{\mkbibordinal}% + \def\mkbibordseries{\mkbibfemord}% + \protected\def\mkbibdatelong#1#2#3{% + % day field + \iffieldundef{#3}{}{\mkbibordinal{\thefield{#3}}% if day exists, display + \iffieldundef{#2}{}{\nobreakspace}}% space before month if month exists + % month field + \iffieldundef{#2}{}{\mkbibmonth{\thefield{#2}}% + \iffieldundef{#1}{}{\space}}% space before year if year exists + % year field + \iffieldbibstring{#1}% year + {\bibstring{\thefield{#1}}}% + {\dateeraprintpre{#1}\mkbibordinal{\thefield{#1}}}}% + \protected\def\mkbibdateshort#1#2#3{% + \iffieldundef{#3}{}{\mkbibordinal{\thefield{#3}}% + \iffieldundef{#2}{}{\addnbspace}}% + \iffieldundef{#2}{}{\mkbibordinal{\thefield{#2}}% + \iffieldundef{#1}{}{\addnbspace}}% + \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}% + {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}\adddot}}% + \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{% + \iffieldundef{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% + \iffieldundef{#4}{} + {\bibtimezonesep + \mkbibtimezone{\thefield{#4}}}}% + \expandafter\protected\expandafter\def\csname mkbibtime12h% + \endcsname#1#2#3#4{% + \stripzeros{\mktimehh{\thefield{#1}}}\bibtimesep% + \forcezerosmdt{\thefield{#2}}% + \iffieldundef{#3}{} + {\bibtimesep% + \forcezerosmdt{\thefield{#3}}}% + \space + \ifnumless{\thefield{#1}}{12} + {\bibstring{am}} + {\bibstring{pm}}% + \iffieldundef{#4}{} + {\space\bibtimezonesep% + \parentext{\mkbibtimezone{\thefield{#4}}}}}% + \protected\def\mkbibseasondateshort#1#2{% + \mkbibseason{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}\adddot}% + \protected\def\mkbibseasondatelong#1#2{% + \mkbibseason{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}\adddot}% +} + +\DeclareBibliographyStrings{% + abstract = {{apstrakt}{apstrakt}}, + afterword = {{pogovor}{pogovor}}, + am = {{AM}{AM}}, + and = {{i}{i}}, + andmore = {{i drugi}{i\addabbrvspace dr\adddot}}, + andothers = {{i drugi}{i\addabbrvspace dr\adddot}}, + annodomini = {{posle Hrista}{p\adddotspace Hr\adddot}}, + annotation = {{bele\v ska}{bel\adddot}}, + annotations = {{bele\v ske}{bel\adddot}}, + annotator = {{autor bele\v zaka}{aut\adddot\ bel\adddot}}, + annotators = {{autori bele\v zaka}{aut\adddot\ bel\adddot}}, + april = {{april}{apr\adddot}}, + astitle = {{pod naslovom}{pod naslovom}}, + audiocd = {{audio CD}{audio CD}}, + august = {{avgust}{avg\adddot}}, + autumn = {{jesen}{jesen}}, + backrefpage = {{citirano na stranici}{cit\adddot\ na str\adddot}}, + backrefpages = {{citirano na stranicama}{cit\adddot\ na str\adddot}}, + bathesis = {{ba\v celor rad}{BA\addabbrvspace rad}}, + beforechrist = {{pre Hrista}{pr\adddotspace Hr\adddot}}, + beforecommonera = {{pre nove ere}{pre\addabbrvspace n\adddotspace e\adddot}}, + bibliography = {{Bibliografija}{Bibliografija}}, + book = {{knjiga}{knj\adddot}}, + byannotator = {{autor bele\v zaka}{autor bele\v zaka}}, + byauthor = {{autor}{autor}}, + bycollaborator = {{u saradnji sa}{u saradnji sa}}, + bycommentator = {{komentar}{komentar}}, + bycompiler = {{odabir}{odabir}}, + bycontinuator = {{autor nastavka}{autor nastavka}}, + byeditor = {{urednik}{urednik}}, + byeditoraf = {{obrada i pogovor}{obrada i pogovor}}, + byeditoran = {{obrada i bele\v ske}{obrada i bele\v ske}}, + byeditoranaf = {{obrada, bele\v ske i pogovor}{obrada, bele\v ske i pogovor}}, + byeditoranfo = {{obrada, bele\v ske i predgovor}{obrada, bele\v ske i predgovor}}, + byeditoranin = {{obrada, bele\v ske i uvod}{obrada, bele\v ske i uvod}}, + byeditorco = {{obrada i komentar}{obrada i komentar}}, + byeditorcoaf = {{obrada, komentar i pogovor}{obrada, komentar i pogovor}}, + byeditorcofo = {{obrada, komentar i predgovor}{obrada, komentar i predgovor}}, + byeditorcoin = {{obrada, komentar i uvod}{obrada, komentar i uvod}}, + byeditorfo = {{obrada i predgovor}{obrada i predgovor}}, + byeditorin = {{obrada i uvod}{obrada i uvod}}, + byeditortr = {{obrada i prevod}{obrada i prevod}}, + byeditortraf = {{obrada, prevod i pogovor}{obrada, prevod i pogovor}}, + byeditortran = {{obrada, prevod i bele\v ske}{obrada, prevod i bele\v ske}}, + byeditortranaf = {{obrada, prevod, bele\v ske i pogovor}{obrada, prevod, bele\v ske i pogovor}}, + byeditortranfo = {{obrada, prevod, bele\v ske i predgovor}{obrada, prevod, bele\v ske i predgovor}}, + byeditortranin = {{obrada, prevod, bele\v ske i uvod}{obrada, prevod, bele\v ske i uvod}}, + byeditortrco = {{obrada, prevod i komentar}{obrada, prevod i komentar}}, + byeditortrcoaf = {{obrada, prevod, komentar i pogovor}{obrada, prevod, komentar i pogovor}}, + byeditortrcofo = {{obrada, prevod, komentar i predgovor}{obrada, prevod, komentar i predgovor}}, + byeditortrcoin = {{obrada, prevod, komentar i uvod}{obrada, prevod, komentar i uvod}}, + byeditortrfo = {{obrada, prevod i predgovor}{obrada, prevod i predgovor}}, + byeditortrin = {{obrada, prevod i uvod}{obrada, prevod i uvod}}, + byfounder = {{osniva\v c}{osniva\v c}}, + byorganizer = {{organizator}{organizator}}, + bypublisher = {{izdava\v c}{izdava\v c}}, + byredactor = {{redaktor}{redaktor}}, + byreviewer = {{recenzent}{recenzent}}, + byreviser = {{korektor}{korektor}}, + bytranslator = {{prevod}{prevod}}, + bytranslatoraf = {{prevod i pogovor}{prevod i pogovor}}, + bytranslatoran = {{prevod i bele\v ske}{prevod i bele\v ske}}, + bytranslatoranaf = {{prevod, bele\v ske i pogovor}{prevod, bele\v ske i pogovor}}, + bytranslatoranfo = {{prevod, bele\v ske i predgovor}{prevod, bele\v ske i predgovor}}, + bytranslatoranin = {{prevod, bele\v ske i uvod}{prevod, bele\v ske i uvod}}, + bytranslatorco = {{prevod i komentar}{prevod i komentar}}, + bytranslatorcoaf = {{prevod, komentar i pogovor}{prevod, komentar i pogovor}}, + bytranslatorcofo = {{prevod, komentar i predgovor}{prevod, komentar i predgovor}}, + bytranslatorcoin = {{prevod, komentar i uvod}{prevod, komentar i uvod}}, + bytranslatorfo = {{prevod i predgovor}{prevod i predgovor}}, + bytranslatorin = {{prevod i uvod}{prevod i uvod}}, + candthesis = {{kandidatski rad}{kandidatski rad}}, + chapter = {{glava}{glava}}, + circa = {{cirka}{cca}}, + citedas = {{citirano kao}{cit\adddotspace kao}}, + collaborator = {{saradnik}{sar\adddot}}, + collaborators = {{saradnici}{sar\adddot}}, + column = {{stupac}{stupac}}, + columns = {{stupci}{stupci}}, + columntotal = {{stupac}{stupac}}, + columntotals = {{stupci}{stupci}}, + commentary = {{komentar}{kom\adddot}}, + commentator = {{komentator}{kom\adddot}}, + commentators = {{komentatori}{kom\adddot}}, + commonera = {{nove ere}{n.\addnbspace e\adddot}}, + compiler = {{prire\dj iva\v c}{prire\dj iva\v c}}, + compilers = {{priredili}{priredili}}, + confer = {{cf\adddot}{cf\adddot}}, + continuator = {{nastavlja\v c}{nast\adddot}}, + continuators = {{nastavlja\v ci}{nast\adddot}}, + countryde = {{Nema\v cka}{DE}}, + countryep = {{Evropska unija}{EP}}, + countryeu = {{Evropska unija}{EU}}, + countryfr = {{Francuska}{FR}}, + countryuk = {{Velika Britanija}{GB}}, + countryus = {{Sjedinjene Ameri\v cke Dr\v zave}{SAD}}, + datacd = {{CD-ROM}{CD-ROM}}, + december = {{decembar}{dec\adddot}}, + edition = {{izdanje}{izdanje}}, + editor = {{urednik}{ur\adddot}}, + editoraf = {{urednik i autor pogovora}{urednik i autor pogovora}}, + editoran = {{urednik i autor bele\v zaka}{urednik i autor bele\v zaka}}, + editoranaf = {{urednik, autor bele\v zaka i autor pogovora}{urednik, autor bele\v zaka i autor pogovora}}, + editoranfo = {{urednik, autor bele\v zaka i autor predgovora}{urednik, autor bele\v zaka i autor predgovora}}, + editoranin = {{urednik, autor bele\v zaka i autor uvoda}{urednik, autor bele\v zaka i autor uvoda}}, + editorco = {{urednik i komentator}{urednik i komentator}}, + editorcoaf = {{urednik, komentator i autor pogovora}{urednik, komentator i autor pogovora}}, + editorcofo = {{urednik, komentator i autor predgovora}{urednik, komentator i autor predgovora}}, + editorcoin = {{urednik, komentator i autor uvoda}{urednik, komentator i autor uvoda}}, + editorfo = {{urednik i autor predgovora}{urednik i autor predgovora}}, + editorin = {{urednik i autor uvoda}{urednik i autor uvoda}}, + editors = {{urednici}{urednici}}, + editorsaf = {{urednici i pisci pogovora}{urednici i pisci pogovora}}, + editorsan = {{urednici i autori bele\v zaka}{urednici i autori bele\v zaka}}, + editorsanaf = {{urednici, autori bele\v zaka i autori pogovora}{urednici, autori bele\v zaka i autori pogovora}}, + editorsanfo = {{urednici, autori bele\v zaka i autori predgovora}{urednici, autori bele\v zaka i autori predgovora}}, + editorsanin = {{urednici, autori bele\v zaka i autori uvoda}{urednici, autori bele\v zaka i autori uvoda}}, + editorsco = {{urednici i komentatori}{urednici i komentatori}}, + editorscoaf = {{urednici, komentatori i pisci pogovora}{urednici, komentatori i pisci pogovora}}, + editorscofo = {{urednici, komentatori i autori predgovora}{urednici, komentatori i autori predgovora}}, + editorscoin = {{urednici, komentatori i autori uvoda}{urednici, komentatori i autori uvoda}}, + editorsfo = {{urednici i pisci predgovora}{urednici i pisci predgovora}}, + editorsin = {{urednici i autori uvoda}{urednici i autori uvoda}}, + editorstr = {{urednici i prevodioci}{urednici i prevodioci}}, + editorstraf = {{urednici, prevodioci i autori pogovora}{urednici, prevodioci i autori pogovora}}, + editorstran = {{urednici, prevodioci i autori bele\v zaka}{urednici, prevodioci i autori bele\v zaka}}, + editorstranaf = {{urednici, prevodioci, autori bele\v zaka i pisci pogovora}{urednici, prevodioci, autori bele\v zaka i pisci pogovora}}, + editorstranfo = {{urednici, prevodioci, autori bele\v zaka i autori predgovora}{urednici, prevodioci, autori bele\v zaka i autori predgovora}}, + editorstranin = {{urednici, prevodioci, autori bele\v zaka i autori uvoda}{urednici, prevodioci, autori bele\v zaka i autori uvoda}}, + editorstrco = {{urednici, prevodioci i komentatori}{urednici, prevodioci i komentatori}}, + editorstrcoaf = {{urednici, prevodioci, komentatori i pisci pogovora}{urednici, prevodioci, komentatori i pisci pogovora}}, + editorstrcofo = {{urednici, prevodioci, komentatori i autori predgovora}{urednici, prevodioci, komentatori i autori predgovora}}, + editorstrcoin = {{urednici, prevodioci, komentatori i autori uvoda}{urednici, prevodioci, komentatori i autori uvoda}}, + editorstrfo = {{urednici, prevodioci i autori predgovora}{urednici, prevodioci i autori predgovora}}, + editorstrin = {{urednici, prevodioci i autori uvoda}{urednici, prevodioci i autori uvoda}}, + editortr = {{urednik i prevodilac}{urednik i prevodilac}}, + editortraf = {{urednik, prevodilac i autor pogovora}{urednik, prevodilac i autor pogovora}}, + editortran = {{urednik, prevodilac i autor bele\v zaka}{urednik, prevodilac i autor bele\v zaka}}, + editortranaf = {{urednik, prevodilac, autor bele\v zaka i autor pogovora}{urednik, prevodilac, autor bele\v zaka i autor pogovora}}, + editortranfo = {{urednik, prevodilac, autor bele\v zaka i autor predgovora}{urednik, prevodilac, autor bele\v zaka i autor predgovora}}, + editortranin = {{urednik, prevodilac, autor bele\v zaka i autor uvoda}{urednik, prevodilac, autor bele\v zaka i autor uvoda}}, + editortrco = {{urednik, prevodilac i komentator}{urednik, prevodilac i komentator}}, + editortrcoaf = {{urednik, prevodilac, komentator i autor pogovora}{urednik, prevodilac, komentator i autor pogovora}}, + editortrcofo = {{urednik, prevodilac, komentator i autor predgovora}{urednik, prevodilac, komentator i autor predgovora}}, + editortrcoin = {{urednik, prevodilac, komentator i autor uvoda}{urednik, prevodilac, komentator i autor uvoda}}, + editortrfo = {{urednik, prevodilac i autor predgovora}{urednik, prevodilac i autor predgovora}}, + editortrin = {{urednik, prevodilac i autor uvoda}{urednik, prevodilac i autor uvoda}}, + february = {{februar}{feb\adddot}}, + file = {{datoteka}{datoteka}}, + foreword = {{predgovor}{predgovor}}, + forthcoming = {{dolaze\'ce}{dolaze\'ce}}, + founder = {{osniva\v c}{osn\adddot}}, + founders = {{osniva\v ci}{osn\adddot}}, + fromamerican = {{sa ameri\v ckog}{sa ameri\v ckog}}, + frombrazilian = {{sa brazilskog}{sa brazilskog}}, + frombulgarian = {{sa bugarskog}{sa bugarskog}}, + fromcatalan = {{sa katalonskog}{sa katalonskog}}, + fromcroatian = {{sa hrvatskog}{sa hrvatskog}}, + fromczech = {{sa \v ce\v skog}{sa \v ce\v skog}}, + fromdanish = {{sa danskog}{sa danskog}}, + fromdutch = {{sa holandskog}{sa holandskog}}, + fromenglish = {{sa engleskog}{sa engleskog}}, + fromestonian = {{sa estonskog}{sa estonskog}}, + fromfinnish = {{sa finskog}{sa finskog}}, + fromfrench = {{sa francuskog}{sa francuskog}}, + fromgalician = {{sa galicijskog}{sa galicijskog}}, + fromgerman = {{sa nema\v ckog}{sa nema\v ckog}}, + fromgreek = {{sa gr\v ckog}{sa gr\v ckog}}, + fromhungarian = {{sa ma\dj arskog}{sa ma\dj arskog}}, + fromitalian = {{sa italijanskog}{sa italijanskog}}, + fromjapanese = {{sa japanskog}{sa japanskog}}, + fromlatin = {{sa latinskog}{sa latinskog}}, + fromlatvian = {{sa letonskog}{sa letonskog}}, + fromnorwegian = {{sa norve\v skog}{sa norve\v skog}}, + frompolish = {{sa poljskog}{sa poljskog}}, + fromportuguese = {{sa portugalskog}{sa portugalskog}}, + fromrussian = {{sa ruskog}{sa ruskog}}, + fromslovak = {{sa slova\v ckog}{sa slova\v ckog}}, + fromslovene = {{sa slovena\v ckog}{sa slovena\v ckog}}, + fromspanish = {{sa \v spanskog}{sa \v spanskog}}, + fromswedish = {{sa \v svedskog}{sa \v svedskog}}, + fromukrainian = {{sa ukrajinskog}{sa ukrajinskog}}, + ibidem = {{ibidem}{ibid\adddot}}, + idem = {{idem}{idem}}, + idempf = {{eaedem}{eaedem}}, + idempm = {{eidem}{eidem}}, + idempn = {{eadem}{eadem}}, + idempp = {{eidem}{eidem}}, + idemsf = {{eadem}{eadem}}, + idemsm = {{idem}{idem}}, + idemsn = {{idem}{idem}}, + in = {{u}{u}}, + inpreparation = {{u pripremi}{u pripremi}}, + inpress = {{u \v stampi}{u \v stampi}}, + inseries = {{u}{u}}, + introduction = {{uvod}{uv\adddot}}, + involumes = {{u}{u}}, + issue = {{izdanje}{izdanje}}, + january = {{januar}{jan\adddot}}, + jourser = {{serija}{ser\adddot}}, + jourvol = {{sveska}{sv\adddot}}, + july = {{jul}{jul}}, + june = {{jun}{jun}}, + langamerican = {{ameri\v cki}{ameri\v cki}}, + langbrazilian = {{brazilski}{brazilski}}, + langbulgarian = {{bugarski}{bugarski}}, + langcatalan = {{katalanski}{katalanski}}, + langcroatian = {{hrvatski}{hrvatski}}, + langczech = {{\v ce\v ski}{\v ce\v ski}}, + langdanish = {{danski}{danski}}, + langdutch = {{holandski}{holandski}}, + langenglish = {{engleski}{engleski}}, + langestonian = {{estonski}{estonski}}, + langfinnish = {{finski}{finski}}, + langfrench = {{francuski}{francuski}}, + langgalician = {{galicijski}{galicijski}}, + langgerman = {{nema\v cki}{nema\v cki}}, + langgreek = {{gr\v cki}{gr\v cki}}, + langhungarian = {{ma\dj arski}{ma\dj arski}}, + langitalian = {{italijanski}{italijanski}}, + langjapanese = {{japanski}{japanski}}, + langlatin = {{latinski}{latinski}}, + langlatvian = {{letonski}{letonski}}, + langnorwegian = {{norve\v ski}{norve\v ski}}, + langpolish = {{poljski}{poljski}}, + langportuguese = {{portugalski}{portugalski}}, + langrussian = {{ruski}{ruski}}, + langslovak = {{slova\v cki}{slova\v cki}}, + langslovene = {{slovena\v cki}{slovena\v cki}}, + langspanish = {{\v spanski}{\v spanski}}, + langswedish = {{\v svedski}{\v svedski}}, + langukrainian = {{ukrajinski}{ukrajinski}}, + library = {{biblioteka}{biblioteka}}, + line = {{red}{r\adddot}}, + lines = {{redovi}{r\adddot}}, + linetotal = {{red}{r\adddot}}, + linetotals = {{redovi}{r\adddot}}, + loccit = {{loc\adddotspace cit\adddot}{loc\adddotspace cit\adddot}}, + march = {{mart}{mar\adddot}}, + mathesis = {{master rad}{master rad}}, + may = {{maj}{maj}}, + newseries = {{nova serija}{nova serija}}, + nodate = {{bez datuma}{bez datuma}}, + november = {{novembar}{nov\adddot}}, + number = {{broj}{br\adddot}}, + october = {{oktobar}{okt\adddot}}, + ofseries = {{serija}{ser\adddot}}, + oldseries = {{stara serija}{stara serija}}, + opcit = {{op\adddotspace cit\adddot}{op\adddotspace cit\adddot}}, + organizer = {{organizator}{org\adddot}}, + organizers = {{organizatori}{org\adddot}}, + origpubas = {{originalno izdato kao}{originalno izdato kao}}, + origpubin = {{originalno izdato}{originalno izdato}}, + page = {{strana}{str\adddot}}, + pages = {{strane}{str\adddot}}, + pagetotal = {{strana}{str\adddot}}, + pagetotals = {{strane}{str\adddot}}, + paragraph = {{pasus}{pas\adddot}}, + paragraphs = {{pasusi}{pas\adddot}}, + paragraphtotal = {{pasus}{pas\adddot}}, + paragraphtotals = {{pasusi}{pas\adddot}}, + part = {{deo}{deo}}, + passim = {{passim}{pass\adddot}}, + patent = {{patent}{pat\adddot}}, + patentde = {{nema\v cki patent}{nem\adddot\ pat\adddot}}, + patenteu = {{evropski patent}{evr\adddot\ pat\adddot}}, + patentfr = {{francuski patent}{franc\adddot\ pat\adddot}}, + patentuk = {{britanski patent}{brit\adddot\ pat\adddot}}, + patentus = {{SAD patent}{SAD pat\adddot}}, + patreq = {{zahtev za patent}{zahtev za patent}}, + patreqde = {{nema\v cki zahtev za patent}{nema\v cki zahtev za patent}}, + patreqeu = {{evropski zahtev za patent}{evropski zahtev za patent}}, + patreqfr = {{francuski zahtev za patent}{francuski zahtev za patent}}, + patrequk = {{britanski zahtev za patent}{britanski zahtev za patent}}, + patrequs = {{SAD zahtev za patent}{SAD zahtev za patent}}, + phdthesis = {{doktorska teza}{doktorska teza}}, + pm = {{PM}{PM}}, + prepublished = {{preliminarno izdanje}{preliminarno izdanje}}, + quotedin = {{citirano u}{cit\adddotspace u}}, + redactor = {{redaktor}{red\adddot}}, + redactors = {{redaktori}{red\adddot}}, + references = {{Literatura}{Literatura}}, + reprint = {{reprint}{reprint}}, + reprintas = {{ponovo izdato kao kao}{ponovo izdato kao kao}}, + reprintfrom = {{reprint iz}{reprint iz}}, + reprintof = {{reprint}{reprint}}, + resreport = {{istra\v ziva\v cki izve\v staj}{istra\v ziva\v cki izve\v staj}}, + reviewof = {{recenzija}{recenzija}}, + reviser = {{korektor}{korektor}}, + revisers = {{korektori}{korektori}}, + section = {{sekcija}{sek\adddot}}, + sections = {{sekcije}{sek\adddot}}, + sectiontotal = {{sekcija}{sek\adddot}}, + sectiontotals = {{sekcije}{sek\adddot}}, + see = {{vidi}{vidi}}, + seealso = {{vidi\addabbrvspace i}{vidi}}, + seenote = {{vidi fusnotu}{vidi fusnotu}}, + september = {{septembar}{sept\adddot}}, + sequens = {{sq\adddot}{sq\adddot}}, + sequentes = {{sqq\adddot}{sqq\adddot}}, + shorthands = {{Spisak skra\'cenica}{Skra\'cenice}}, + software = {{ra\v cunarski softver}{ra\v c\adddot\ softver}}, + spring = {{prole\'ce}{prole\'ce}}, + submitted = {{poslato}{poslato}}, + summer = {{leto}{leto}}, + techreport = {{tehni\v cki izve\v staj}{tehn\adddotspace izv\adddot}}, + thiscite = {{posebno}{posebno}}, + translationas = {{prevedeno kao}{prevedeno kao}}, + translationfrom = {{prevedeno sa}{prevedeno sa}}, + translationof = {{prevod}{prevod}}, + translator = {{prevodilac}{prevodilac}}, + translatoraf = {{prevodilac i autor pogovora}{prevodilac i autor pogovora}}, + translatoran = {{prevodilac i anotator}{prevodilac i anotator}}, + translatoranaf = {{prevodilac, autor anotacija i autor pogovora}{prevodilac, autor anotacija i autor pogovora}}, + translatoranfo = {{prevodilac, autor anotacija i autor predgovora}{prevodilac, autor anotacija i autor predgovora}}, + translatoranin = {{prevodilac, autor anotacija i autor uvoda}{prevodilac, autor anotacija i autor uvoda}}, + translatorco = {{prevodilac i komentator}{prevodilac i komentator}}, + translatorcoaf = {{prevodilac, komentar i autor pogovora}{prevodilac, komentar i autor pogovora}}, + translatorcofo = {{prevodilac, komentar i autor predgovora}{prevodilac, komentar i autor predgovora}}, + translatorcoin = {{prevodilac, komentar i autor uvoda}{prevodilac, komentar i autor uvoda}}, + translatorfo = {{prevodilac i autor predgovora}{prevodilac i autor predgovora}}, + translatorin = {{prevodilac i autor uvoda}{prevodilac i autor uvoda}}, + translators = {{prevodioci}{prevodioci}}, + translatorsaf = {{prevodilac i autor pogovora}{prevodilac i autor pogovora}}, + translatorsan = {{prevodioci i autori bele\v ski}{prevodioci i autori bele\v ski}}, + translatorsanaf = {{prevodilac, autor anotacija i autor pogovora}{prevodilac, autor anotacija i autor pogovora}}, + translatorsanfo = {{prevodilac, autor anotacija i autor predgovora}{prevodilac, autor anotacija i autor predgovora}}, + translatorsanin = {{prevodilac, autor anotacija i autor uvoda}{prevodilac, autor anotacija i autor uvoda}}, + translatorsco = {{prevodioci i komentatori}{prevodioci i komentatori}}, + translatorscoaf = {{prevodilac, komentar i autor pogovora}{prevodilac, komentar i autor pogovora}}, + translatorscofo = {{prevodilac, komentar i autor predgovora}{prevodilac, komentar i autor predgovora}}, + translatorscoin = {{prevodilac, komentar i autor uvoda}{prevodilac, komentar i autor uvoda}}, + translatorsfo = {{prevodilac i autor predgovora}{prevodilac i autor predgovora}}, + translatorsin = {{prevodilac i autor uvoda}{prevodilac i autor uvoda}}, + url = {{adresa}{adresa}}, + urlfrom = {{dostupno na}{dostupno na}}, + urlseen = {{pose\'ceno}{pose\'ceno}}, + verse = {{strofa}{str\adddot}}, + verses = {{strofe}{str\adddot}}, + versetotal = {{strofa}{str\adddot}}, + versetotals = {{strofe}{str\adddot}}, + version = {{verzija}{verzija}}, + volume = {{sveska}{sv\adddot}}, + volumes = {{sveske}{sv\adddot}}, + winter = {{zima}{zima}}, + withafterword = {{sa pogovorom}{sa pogovorom}}, + withannotator = {{sa bele\v skama}{sa bele\v skama}}, + withcommentator = {{sa komentarom}{sa komentarom}}, + withforeword = {{sa predgovorom}{sa predgovorom}}, + withintroduction = {{sa uvodom}{sa uvodom}}, +} + +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/serbianc.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/serbianc.lbx new file mode 100644 index 00000000000..1e11519af0d --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/serbianc.lbx @@ -0,0 +1,449 @@ +\ProvidesFile{serbianc.lbx} +[\abx@lbxid] + +% Translator's notes: +% +% This file is generated from a template and YAML localization string +% collection by a script +% You can said files at https://gitlab.com/andrejr/biblatex-serbian. +% Please don't modify this file by hand -- contribute your changes upstream and +% then send a pull request with the generated file to the official biblatex +% repo (https://github.com/plk/biblatex). +% +% This is done so we could generate both `serbian.lbx` (Latin) and +% `serbianc.lbx` (Cyrillic) from the same set of localization strings. + +\lbx@ifutfinput + {} + {\PackageError{biblatex} + {Serbian Cyrillic biblatex localization requires UTF-8 support} + {The 'serbianc.lbx' file requires UTF-8 encoding but you + seem\MessageBreak to be using a different encoding. + This is a fatal error. I will\MessageBreak abort loading + serbianc.lbx now.}% + \endinput} + +\DeclareRedundantLanguages{serbianc}{serbianc} + +\DeclareBibliographyExtras{% + \protected\def\bibrangedash{\textendash\penalty\hyphenpenalty}% + \protected\def\mkbibordinal#1{\stripzeros{#1}\adddot}% + \protected\def\mkbibmascord{\mkbibordinal}% + \protected\def\mkbibfemord{\mkbibordinal}% + \protected\def\mkbibneutord{\mkbibordinal}% + \protected\def\bibtimesep{.}% + %\savecommand\mkbibordedition + %\savecommand\mkbibordseries + \def\mkbibordedition{\mkbibordinal}% + \def\mkbibordseries{\mkbibfemord}% + \protected\def\mkbibdatelong#1#2#3{% + % day field + \iffieldundef{#3}{}{\mkbibordinal{\thefield{#3}}% if day exists, display + \iffieldundef{#2}{}{\nobreakspace}}% space before month if month exists + % month field + \iffieldundef{#2}{}{\mkbibmonth{\thefield{#2}}% + \iffieldundef{#1}{}{\space}}% space before year if year exists + % year field + \iffieldbibstring{#1}% year + {\bibstring{\thefield{#1}}}% + {\dateeraprintpre{#1}\mkbibordinal{\thefield{#1}}}}% + \protected\def\mkbibdateshort#1#2#3{% + \iffieldundef{#3}{}{\mkbibordinal{\thefield{#3}}% + \iffieldundef{#2}{}{\addnbspace}}% + \iffieldundef{#2}{}{\mkbibordinal{\thefield{#2}}% + \iffieldundef{#1}{}{\addnbspace}}% + \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}% + {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}\adddot}}% + \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{% + \iffieldundef{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% + \iffieldundef{#4}{} + {\bibtimezonesep + \mkbibtimezone{\thefield{#4}}}}% + \expandafter\protected\expandafter\def\csname mkbibtime12h% + \endcsname#1#2#3#4{% + \stripzeros{\mktimehh{\thefield{#1}}}\bibtimesep% + \forcezerosmdt{\thefield{#2}}% + \iffieldundef{#3}{} + {\bibtimesep% + \forcezerosmdt{\thefield{#3}}}% + \space + \ifnumless{\thefield{#1}}{12} + {\bibstring{am}} + {\bibstring{pm}}% + \iffieldundef{#4}{} + {\space\bibtimezonesep% + \parentext{\mkbibtimezone{\thefield{#4}}}}}% + \protected\def\mkbibseasondateshort#1#2{% + \mkbibseason{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}\adddot}% + \protected\def\mkbibseasondatelong#1#2{% + \mkbibseason{\thefield{#2}}% + \iffieldundef{#1}{}{\space}% + \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}\adddot}% +} + +\DeclareBibliographyStrings{% + abstract = {{апстракт}{апстракт}}, + afterword = {{поговор}{поговор}}, + am = {{AM}{AM}}, + and = {{и}{и}}, + andmore = {{и други}{и\addabbrvspace др\adddot}}, + andothers = {{и други}{и\addabbrvspace др\adddot}}, + annodomini = {{после Христа}{п\adddotspace Хр\adddot}}, + annotation = {{белешка}{бел\adddot}}, + annotations = {{белешке}{бел\adddot}}, + annotator = {{аутор бележака}{аут\adddot\ бел\adddot}}, + annotators = {{аутори бележака}{аут\adddot\ бел\adddot}}, + april = {{април}{апр\adddot}}, + astitle = {{под насловом}{под насловом}}, + audiocd = {{аудио ЦД}{аудио ЦД}}, + august = {{август}{авг\adddot}}, + autumn = {{јесен}{јесен}}, + backrefpage = {{цитирано на страници}{цит\adddot\ на стр\adddot}}, + backrefpages = {{цитирано на страницама}{цит\adddot\ на стр\adddot}}, + bathesis = {{бачелор рад}{БА\addabbrvspace рад}}, + beforechrist = {{пре Христа}{пр\adddotspace Хр\adddot}}, + beforecommonera = {{пре нове ере}{пре\addabbrvspace н\adddotspace е\adddot}}, + bibliography = {{Библиографија}{Библиографија}}, + book = {{књига}{књ\adddot}}, + byannotator = {{аутор бележака}{аутор бележака}}, + byauthor = {{аутор}{аутор}}, + bycollaborator = {{у сарадњи са}{у сарадњи са}}, + bycommentator = {{коментар}{коментар}}, + bycompiler = {{одабир}{одабир}}, + bycontinuator = {{аутор наставка}{аутор наставка}}, + byeditor = {{уредник}{уредник}}, + byeditoraf = {{обрада и поговор}{обрада и поговор}}, + byeditoran = {{обрада и белешке}{обрада и белешке}}, + byeditoranaf = {{обрада, белешке и поговор}{обрада, белешке и поговор}}, + byeditoranfo = {{обрада, белешке и предговор}{обрада, белешке и предговор}}, + byeditoranin = {{обрада, белешке и увод}{обрада, белешке и увод}}, + byeditorco = {{обрада и коментар}{обрада и коментар}}, + byeditorcoaf = {{обрада, коментар и поговор}{обрада, коментар и поговор}}, + byeditorcofo = {{обрада, коментар и предговор}{обрада, коментар и предговор}}, + byeditorcoin = {{обрада, коментар и увод}{обрада, коментар и увод}}, + byeditorfo = {{обрада и предговор}{обрада и предговор}}, + byeditorin = {{обрада и увод}{обрада и увод}}, + byeditortr = {{обрада и превод}{обрада и превод}}, + byeditortraf = {{обрада, превод и поговор}{обрада, превод и поговор}}, + byeditortran = {{обрада, превод и белешке}{обрада, превод и белешке}}, + byeditortranaf = {{обрада, превод, белешке и поговор}{обрада, превод, белешке и поговор}}, + byeditortranfo = {{обрада, превод, белешке и предговор}{обрада, превод, белешке и предговор}}, + byeditortranin = {{обрада, превод, белешке и увод}{обрада, превод, белешке и увод}}, + byeditortrco = {{обрада, превод и коментар}{обрада, превод и коментар}}, + byeditortrcoaf = {{обрада, превод, коментар и поговор}{обрада, превод, коментар и поговор}}, + byeditortrcofo = {{обрада, превод, коментар и предговор}{обрада, превод, коментар и предговор}}, + byeditortrcoin = {{обрада, превод, коментар и увод}{обрада, превод, коментар и увод}}, + byeditortrfo = {{обрада, превод и предговор}{обрада, превод и предговор}}, + byeditortrin = {{обрада, превод и увод}{обрада, превод и увод}}, + byfounder = {{оснивач}{оснивач}}, + byorganizer = {{организатор}{организатор}}, + bypublisher = {{издавач}{издавач}}, + byredactor = {{редактор}{редактор}}, + byreviewer = {{рецензент}{рецензент}}, + byreviser = {{коректор}{коректор}}, + bytranslator = {{превод}{превод}}, + bytranslatoraf = {{превод и поговор}{превод и поговор}}, + bytranslatoran = {{превод и белешке}{превод и белешке}}, + bytranslatoranaf = {{превод, белешке и поговор}{превод, белешке и поговор}}, + bytranslatoranfo = {{превод, белешке и предговор}{превод, белешке и предговор}}, + bytranslatoranin = {{превод, белешке и увод}{превод, белешке и увод}}, + bytranslatorco = {{превод и коментар}{превод и коментар}}, + bytranslatorcoaf = {{превод, коментар и поговор}{превод, коментар и поговор}}, + bytranslatorcofo = {{превод, коментар и предговор}{превод, коментар и предговор}}, + bytranslatorcoin = {{превод, коментар и увод}{превод, коментар и увод}}, + bytranslatorfo = {{превод и предговор}{превод и предговор}}, + bytranslatorin = {{превод и увод}{превод и увод}}, + candthesis = {{кандидатски рад}{кандидатски рад}}, + chapter = {{глава}{глава}}, + circa = {{цирка}{cca}}, + citedas = {{цитирано као}{цит\adddotspace као}}, + collaborator = {{сарадник}{сар\adddot}}, + collaborators = {{сарадници}{сар\adddot}}, + column = {{ступац}{ступац}}, + columns = {{ступци}{ступци}}, + columntotal = {{ступац}{ступац}}, + columntotals = {{ступци}{ступци}}, + commentary = {{коментар}{ком\adddot}}, + commentator = {{коментатор}{ком\adddot}}, + commentators = {{коментатори}{ком\adddot}}, + commonera = {{нове ере}{н.\addnbspace е\adddot}}, + compiler = {{приређивач}{приређивач}}, + compilers = {{приредили}{приредили}}, + confer = {{cf\adddot}{cf\adddot}}, + continuator = {{настављач}{наст\adddot}}, + continuators = {{настављачи}{наст\adddot}}, + countryde = {{Немачка}{ДЕ}}, + countryep = {{Европска унија}{ЕП}}, + countryeu = {{Европска унија}{ЕУ}}, + countryfr = {{Француска}{ФР}}, + countryuk = {{Велика Британија}{ГБ}}, + countryus = {{Сједињене Америчке Државе}{САД}}, + datacd = {{CD-ROM}{CD-ROM}}, + december = {{децембар}{дец\adddot}}, + edition = {{издање}{издање}}, + editor = {{уредник}{ур\adddot}}, + editoraf = {{уредник и аутор поговора}{уредник и аутор поговора}}, + editoran = {{уредник и аутор бележака}{уредник и аутор бележака}}, + editoranaf = {{уредник, аутор бележака и аутор поговора}{уредник, аутор бележака и аутор поговора}}, + editoranfo = {{уредник, аутор бележака и аутор предговора}{уредник, аутор бележака и аутор предговора}}, + editoranin = {{уредник, аутор бележака и аутор увода}{уредник, аутор бележака и аутор увода}}, + editorco = {{уредник и коментатор}{уредник и коментатор}}, + editorcoaf = {{уредник, коментатор и аутор поговора}{уредник, коментатор и аутор поговора}}, + editorcofo = {{уредник, коментатор и аутор предговора}{уредник, коментатор и аутор предговора}}, + editorcoin = {{уредник, коментатор и аутор увода}{уредник, коментатор и аутор увода}}, + editorfo = {{уредник и аутор предговора}{уредник и аутор предговора}}, + editorin = {{уредник и аутор увода}{уредник и аутор увода}}, + editors = {{уредници}{уредници}}, + editorsaf = {{уредници и писци поговора}{уредници и писци поговора}}, + editorsan = {{уредници и аутори бележака}{уредници и аутори бележака}}, + editorsanaf = {{уредници, аутори бележака и аутори поговора}{уредници, аутори бележака и аутори поговора}}, + editorsanfo = {{уредници, аутори бележака и аутори предговора}{уредници, аутори бележака и аутори предговора}}, + editorsanin = {{уредници, аутори бележака и аутори увода}{уредници, аутори бележака и аутори увода}}, + editorsco = {{уредници и коментатори}{уредници и коментатори}}, + editorscoaf = {{уредници, коментатори и писци поговора}{уредници, коментатори и писци поговора}}, + editorscofo = {{уредници, коментатори и аутори предговора}{уредници, коментатори и аутори предговора}}, + editorscoin = {{уредници, коментатори и аутори увода}{уредници, коментатори и аутори увода}}, + editorsfo = {{уредници и писци предговора}{уредници и писци предговора}}, + editorsin = {{уредници и аутори увода}{уредници и аутори увода}}, + editorstr = {{уредници и преводиоци}{уредници и преводиоци}}, + editorstraf = {{уредници, преводиоци и аутори поговора}{уредници, преводиоци и аутори поговора}}, + editorstran = {{уредници, преводиоци и аутори бележака}{уредници, преводиоци и аутори бележака}}, + editorstranaf = {{уредници, преводиоци, аутори бележака и писци поговора}{уредници, преводиоци, аутори бележака и писци поговора}}, + editorstranfo = {{уредници, преводиоци, аутори бележака и аутори предговора}{уредници, преводиоци, аутори бележака и аутори предговора}}, + editorstranin = {{уредници, преводиоци, аутори бележака и аутори увода}{уредници, преводиоци, аутори бележака и аутори увода}}, + editorstrco = {{уредници, преводиоци и коментатори}{уредници, преводиоци и коментатори}}, + editorstrcoaf = {{уредници, преводиоци, коментатори и писци поговора}{уредници, преводиоци, коментатори и писци поговора}}, + editorstrcofo = {{уредници, преводиоци, коментатори и аутори предговора}{уредници, преводиоци, коментатори и аутори предговора}}, + editorstrcoin = {{уредници, преводиоци, коментатори и аутори увода}{уредници, преводиоци, коментатори и аутори увода}}, + editorstrfo = {{уредници, преводиоци и аутори предговора}{уредници, преводиоци и аутори предговора}}, + editorstrin = {{уредници, преводиоци и аутори увода}{уредници, преводиоци и аутори увода}}, + editortr = {{уредник и преводилац}{уредник и преводилац}}, + editortraf = {{уредник, преводилац и аутор поговора}{уредник, преводилац и аутор поговора}}, + editortran = {{уредник, преводилац и аутор бележака}{уредник, преводилац и аутор бележака}}, + editortranaf = {{уредник, преводилац, аутор бележака и аутор поговора}{уредник, преводилац, аутор бележака и аутор поговора}}, + editortranfo = {{уредник, преводилац, аутор бележака и аутор предговора}{уредник, преводилац, аутор бележака и аутор предговора}}, + editortranin = {{уредник, преводилац, аутор бележака и аутор увода}{уредник, преводилац, аутор бележака и аутор увода}}, + editortrco = {{уредник, преводилац и коментатор}{уредник, преводилац и коментатор}}, + editortrcoaf = {{уредник, преводилац, коментатор и аутор поговора}{уредник, преводилац, коментатор и аутор поговора}}, + editortrcofo = {{уредник, преводилац, коментатор и аутор предговора}{уредник, преводилац, коментатор и аутор предговора}}, + editortrcoin = {{уредник, преводилац, коментатор и аутор увода}{уредник, преводилац, коментатор и аутор увода}}, + editortrfo = {{уредник, преводилац и аутор предговора}{уредник, преводилац и аутор предговора}}, + editortrin = {{уредник, преводилац и аутор увода}{уредник, преводилац и аутор увода}}, + february = {{фебруар}{феб\adddot}}, + file = {{датотека}{датотека}}, + foreword = {{предговор}{предговор}}, + forthcoming = {{долазеће}{долазеће}}, + founder = {{оснивач}{осн\adddot}}, + founders = {{оснивачи}{осн\adddot}}, + fromamerican = {{са америчког}{са америчког}}, + frombrazilian = {{са бразилског}{са бразилског}}, + frombulgarian = {{са бугарског}{са бугарског}}, + fromcatalan = {{са каталонског}{са каталонског}}, + fromcroatian = {{са хрватског}{са хрватског}}, + fromczech = {{са чешког}{са чешког}}, + fromdanish = {{са данског}{са данског}}, + fromdutch = {{са холандског}{са холандског}}, + fromenglish = {{са енглеског}{са енглеског}}, + fromestonian = {{са естонског}{са естонског}}, + fromfinnish = {{са финског}{са финског}}, + fromfrench = {{са француског}{са француског}}, + fromgalician = {{са галицијског}{са галицијског}}, + fromgerman = {{са немачког}{са немачког}}, + fromgreek = {{са грчког}{са грчког}}, + fromhungarian = {{са мађарског}{са мађарског}}, + fromitalian = {{са италијанског}{са италијанског}}, + fromjapanese = {{са јапанског}{са јапанског}}, + fromlatin = {{са латинског}{са латинског}}, + fromlatvian = {{са летонског}{са летонског}}, + fromnorwegian = {{са норвешког}{са норвешког}}, + frompolish = {{са пољског}{са пољског}}, + fromportuguese = {{са португалског}{са португалског}}, + fromrussian = {{са руског}{са руског}}, + fromslovak = {{са словачког}{са словачког}}, + fromslovene = {{са словеначког}{са словеначког}}, + fromspanish = {{са шпанског}{са шпанског}}, + fromswedish = {{са шведског}{са шведског}}, + fromukrainian = {{са украјинског}{са украјинског}}, + ibidem = {{ibidem}{ibid\adddot}}, + idem = {{idem}{idem}}, + idempf = {{eaedem}{eaedem}}, + idempm = {{eidem}{eidem}}, + idempn = {{eadem}{eadem}}, + idempp = {{eidem}{eidem}}, + idemsf = {{eadem}{eadem}}, + idemsm = {{idem}{idem}}, + idemsn = {{idem}{idem}}, + in = {{у}{у}}, + inpreparation = {{у припреми}{у припреми}}, + inpress = {{у штампи}{у штампи}}, + inseries = {{у}{у}}, + introduction = {{увод}{ув\adddot}}, + involumes = {{у}{у}}, + issue = {{издање}{издање}}, + january = {{јануар}{јан\adddot}}, + jourser = {{серија}{сер\adddot}}, + jourvol = {{свеска}{св\adddot}}, + july = {{јул}{јул}}, + june = {{јун}{јун}}, + langamerican = {{амерички}{амерички}}, + langbrazilian = {{бразилски}{бразилски}}, + langbulgarian = {{бугарски}{бугарски}}, + langcatalan = {{каталански}{каталански}}, + langcroatian = {{хрватски}{хрватски}}, + langczech = {{чешки}{чешки}}, + langdanish = {{дански}{дански}}, + langdutch = {{холандски}{холандски}}, + langenglish = {{енглески}{енглески}}, + langestonian = {{естонски}{естонски}}, + langfinnish = {{фински}{фински}}, + langfrench = {{француски}{француски}}, + langgalician = {{галицијски}{галицијски}}, + langgerman = {{немачки}{немачки}}, + langgreek = {{грчки}{грчки}}, + langhungarian = {{мађарски}{мађарски}}, + langitalian = {{италијански}{италијански}}, + langjapanese = {{јапански}{јапански}}, + langlatin = {{латински}{латински}}, + langlatvian = {{летонски}{летонски}}, + langnorwegian = {{норвешки}{норвешки}}, + langpolish = {{пољски}{пољски}}, + langportuguese = {{португалски}{португалски}}, + langrussian = {{руски}{руски}}, + langslovak = {{словачки}{словачки}}, + langslovene = {{словеначки}{словеначки}}, + langspanish = {{шпански}{шпански}}, + langswedish = {{шведски}{шведски}}, + langukrainian = {{украјински}{украјински}}, + library = {{библиотека}{библиотека}}, + line = {{ред}{р\adddot}}, + lines = {{редови}{р\adddot}}, + linetotal = {{ред}{р\adddot}}, + linetotals = {{редови}{р\adddot}}, + loccit = {{loc\adddotspace cit\adddot}{loc\adddotspace cit\adddot}}, + march = {{март}{мар\adddot}}, + mathesis = {{мастер рад}{мастер рад}}, + may = {{мај}{мај}}, + newseries = {{нова серија}{нова серија}}, + nodate = {{без датума}{без датума}}, + november = {{новембар}{нов\adddot}}, + number = {{број}{бр\adddot}}, + october = {{октобар}{окт\adddot}}, + ofseries = {{серија}{сер\adddot}}, + oldseries = {{стара серија}{стара серија}}, + opcit = {{op\adddotspace cit\adddot}{op\adddotspace cit\adddot}}, + organizer = {{организатор}{орг\adddot}}, + organizers = {{организатори}{орг\adddot}}, + origpubas = {{оригинално издато као}{оригинално издато као}}, + origpubin = {{оригинално издато}{оригинално издато}}, + page = {{страна}{стр\adddot}}, + pages = {{стране}{стр\adddot}}, + pagetotal = {{страна}{стр\adddot}}, + pagetotals = {{стране}{стр\adddot}}, + paragraph = {{пасус}{пас\adddot}}, + paragraphs = {{пасуси}{пас\adddot}}, + paragraphtotal = {{пасус}{пас\adddot}}, + paragraphtotals = {{пасуси}{пас\adddot}}, + part = {{део}{део}}, + passim = {{passim}{pass\adddot}}, + patent = {{патент}{пат\adddot}}, + patentde = {{немачки патент}{нем\adddot\ пат\adddot}}, + patenteu = {{европски патент}{евр\adddot\ пат\adddot}}, + patentfr = {{француски патент}{франц\adddot\ пат\adddot}}, + patentuk = {{британски патент}{брит\adddot\ пат\adddot}}, + patentus = {{САД патент}{САД пат\adddot}}, + patreq = {{захтев за патент}{захтев за патент}}, + patreqde = {{немачки захтев за патент}{немачки захтев за патент}}, + patreqeu = {{европски захтев за патент}{европски захтев за патент}}, + patreqfr = {{француски захтев за патент}{француски захтев за патент}}, + patrequk = {{британски захтев за патент}{британски захтев за патент}}, + patrequs = {{САД захтев за патент}{САД захтев за патент}}, + phdthesis = {{докторска теза}{докторска теза}}, + pm = {{PM}{PM}}, + prepublished = {{прелиминарно издање}{прелиминарно издање}}, + quotedin = {{цитирано у}{цит\adddotspace у}}, + redactor = {{редактор}{ред\adddot}}, + redactors = {{редактори}{ред\adddot}}, + references = {{Литература}{Литература}}, + reprint = {{репринт}{репринт}}, + reprintas = {{поново издато као као}{поново издато као као}}, + reprintfrom = {{репринт из}{репринт из}}, + reprintof = {{репринт}{репринт}}, + resreport = {{истраживачки извештај}{истраживачки извештај}}, + reviewof = {{рецензија}{рецензија}}, + reviser = {{коректор}{коректор}}, + revisers = {{коректори}{коректори}}, + section = {{секција}{сек\adddot}}, + sections = {{секције}{сек\adddot}}, + sectiontotal = {{секција}{сек\adddot}}, + sectiontotals = {{секције}{сек\adddot}}, + see = {{види}{види}}, + seealso = {{види\addabbrvspace и}{види}}, + seenote = {{види фусноту}{види фусноту}}, + september = {{септембар}{септ\adddot}}, + sequens = {{sq\adddot}{sq\adddot}}, + sequentes = {{sqq\adddot}{sqq\adddot}}, + shorthands = {{Списак скраћеница}{Скраћенице}}, + software = {{рачунарски софтвер}{рач\adddot\ софтвер}}, + spring = {{пролеће}{пролеће}}, + submitted = {{послато}{послато}}, + summer = {{лето}{лето}}, + techreport = {{технички извештај}{техн\adddotspace изв\adddot}}, + thiscite = {{посебно}{посебно}}, + translationas = {{преведено као}{преведено као}}, + translationfrom = {{преведено са}{преведено са}}, + translationof = {{превод}{превод}}, + translator = {{преводилац}{преводилац}}, + translatoraf = {{преводилац и аутор поговора}{преводилац и аутор поговора}}, + translatoran = {{преводилац и анотатор}{преводилац и анотатор}}, + translatoranaf = {{преводилац, аутор анотација и аутор поговора}{преводилац, аутор анотација и аутор поговора}}, + translatoranfo = {{преводилац, аутор анотација и аутор предговора}{преводилац, аутор анотација и аутор предговора}}, + translatoranin = {{преводилац, аутор анотација и аутор увода}{преводилац, аутор анотација и аутор увода}}, + translatorco = {{преводилац и коментатор}{преводилац и коментатор}}, + translatorcoaf = {{преводилац, коментар и аутор поговора}{преводилац, коментар и аутор поговора}}, + translatorcofo = {{преводилац, коментар и аутор предговора}{преводилац, коментар и аутор предговора}}, + translatorcoin = {{преводилац, коментар и аутор увода}{преводилац, коментар и аутор увода}}, + translatorfo = {{преводилац и аутор предговора}{преводилац и аутор предговора}}, + translatorin = {{преводилац и аутор увода}{преводилац и аутор увода}}, + translators = {{преводиоци}{преводиоци}}, + translatorsaf = {{преводилац и аутор поговора}{преводилац и аутор поговора}}, + translatorsan = {{преводиоци и аутори белешки}{преводиоци и аутори белешки}}, + translatorsanaf = {{преводилац, аутор анотација и аутор поговора}{преводилац, аутор анотација и аутор поговора}}, + translatorsanfo = {{преводилац, аутор анотација и аутор предговора}{преводилац, аутор анотација и аутор предговора}}, + translatorsanin = {{преводилац, аутор анотација и аутор увода}{преводилац, аутор анотација и аутор увода}}, + translatorsco = {{преводиоци и коментатори}{преводиоци и коментатори}}, + translatorscoaf = {{преводилац, коментар и аутор поговора}{преводилац, коментар и аутор поговора}}, + translatorscofo = {{преводилац, коментар и аутор предговора}{преводилац, коментар и аутор предговора}}, + translatorscoin = {{преводилац, коментар и аутор увода}{преводилац, коментар и аутор увода}}, + translatorsfo = {{преводилац и аутор предговора}{преводилац и аутор предговора}}, + translatorsin = {{преводилац и аутор увода}{преводилац и аутор увода}}, + url = {{адреса}{адреса}}, + urlfrom = {{доступно на}{доступно на}}, + urlseen = {{посећено}{посећено}}, + verse = {{строфа}{стр\adddot}}, + verses = {{строфе}{стр\adddot}}, + versetotal = {{строфа}{стр\adddot}}, + versetotals = {{строфе}{стр\adddot}}, + version = {{верзија}{верзија}}, + volume = {{свеска}{св\adddot}}, + volumes = {{свеске}{св\adddot}}, + winter = {{зима}{зима}}, + withafterword = {{са поговором}{са поговором}}, + withannotator = {{са белешкама}{са белешкама}}, + withcommentator = {{са коментаром}{са коментаром}}, + withforeword = {{са предговором}{са предговором}}, + withintroduction = {{са уводом}{са уводом}}, +} + +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx index 4548ff67df7..2e7201e9c8c 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx @@ -40,13 +40,17 @@ {\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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% @@ -74,62 +78,34 @@ } \DeclareBibliographyStrings{% - bibliography = {{Zoznam bibliografick\'{y}ch odkazov}% - {Bibliografia}}, - references = {{Cit\'{a}cie}% % ISO 690 -- section 2.15 - {Cit\'{a}cie}}, - shorthands = {{Zoznam skratiek}% - {Skratky}}, - editor = {{editor}% - {ed\adddot}}, - editors = {{editori}% - {ed\adddot}}, - compiler = {{zostavovate\v{l}}% % ISO 690 -- section 5.1 -- c) - {zost\adddot}}, - compilers = {{zostavovatelia}% - {zost\adddot}}, - redactor = {{redaktor}% - {red\adddot}}, - redactors = {{redaktori}% - {red\adddot}}, - reviser = {{korektor}% - {kor\adddot}}, - revisers = {{korektori}% - {kor\adddot}}, - founder = {{zakladate\v{l}}% - {zakl\adddot}}, - founders = {{zakladatelia}% - {zakl\adddot}}, - continuator = {{pokra\v{c}ovate\v{l}}% - {pokr\adddot}}, - continuators = {{pokra\v{c}ovatelia}% - {pokr\adddot}}, - collaborator = {{spolupracovn\'{i}k}% - {spoluprac\adddot}}, - collaborators = {{spolupracovn\'{i}ci}% - {spoluprac\adddot}}, - translator = {{prekladate\v{l}}% - {prekl\adddot}}, - translators = {{prekladatelia}% - {prekl\adddot}}, - commentator = {{koment\'{a}tor}% - {kom\adddot}}, - commentators = {{koment\'{a}tori}% - {kom\adddot}}, - annotator = {{anot\'{a}tor}% - {anot\adddot}}, - annotators = {{anot\'{a}tori}% - {anot\adddot}}, - commentary = {{koment\'{a}r}% - {kom\adddot}}, - annotations = {{anot\'{a}cia}% - {anot\adddot}}, - introduction = {{\'{u}vod}% - {\'{u}v\adddot}}, - foreword = {{predhovor}% - {predh\adddot}}, - afterword = {{doslov}% - {dosl\adddot}}, + bibliography = {{Zoznam literat\'{u}ry}{Bibliografia}}, + references = {{Referencie}{Referencie}}, + shorthands = {{Zoznam skratiek}{Skratky}}, + editor = {{editor}{ed\adddot}}, + editors = {{editori}{ed\adddot}}, + compiler = {{zostavovate\v{l}}{zost\adddot}}, + compilers = {{zostavovatelia}{zost\adddot}}, + redactor = {{redaktor}{red\adddot}}, + redactors = {{redaktori}{red\adddot}}, + reviser = {{korektor}{kor\adddot}}, + revisers = {{korektori}{kor\adddot}}, + founder = {{zakladate\v{l}}{zakl\adddot}}, + founders = {{zakladatelia}{zakl\adddot}}, + continuator = {{pokra\v{c}ovate\v{l}}{pokr\adddot}},% FIXME: unsure + continuators = {{pokra\v{c}ovatelia}{pokr\adddot}},% FIXME: unsure + collaborator = {{spolupracovn\'{\i}k}{spoluprac\adddot}}, + collaborators = {{spolupracovn\'{\i}ci}{spoluprac\adddot}}, + translator = {{prekladate\v{l}}{prekl\adddot}}, + translators = {{prekladatelia}{prekl\adddot}}, + commentator = {{koment\'{a}tor}{kom\adddot}}, + commentators = {{koment\'{a}tori}{kom\adddot}}, + annotator = {{anot\'{a}tor}{anot\adddot}}, + annotators = {{anot\'{a}tori}{anot\adddot}}, + commentary = {{koment\'{a}r}{kom\adddot}}, + annotations = {{anot\'{a}cie}{anot\adddot}}, + introduction = {{\'{u}vod}{\'{u}v\adddot}}, + foreword = {{predhovor}{predh\adddot}}, + afterword = {{doslov}{dosl\adddot}}, editortr = {{editor a prekladate\v{l}}% {ed\adddotspace a prekl\adddot}}, editorstr = {{editori a prekladatelia}% @@ -230,97 +206,84 @@ {prekl\adddot\ a anot\adddot}}, translatorsan = {{prekladatelia a anot\'{a}tori}% {prekl\adddot\ a anot\adddot}}, - translatorin = {{prekladate\v{l} a \'{u}vod}% + translatorin = {{preklad a \'{u}vod}% {prekl\adddot\ a \'{u}v\adddot}}, - translatorsin = {{prekladatelia a \'{u}vod}% + translatorsin = {{preklad a \'{u}vod}% {prekl\adddot\ a \'{u}v\adddot}}, - translatorfo = {{prekladate\v{l} a predhovor}% + translatorfo = {{preklad a predhovor}% {prekl\adddot\ a predh\adddot}}, - translatorsfo = {{prekladatelia a predhovor}% + translatorsfo = {{preklad a predhovor}% {prekl\adddot\ a predh\adddot}}, - translatoraf = {{prekladate\v{l} a doslov}% + translatoraf = {{preklad a doslov}% {prekl\adddot\ a dosl\adddot}}, - translatorsaf = {{prekladatelia a doslov}% + translatorsaf = {{preklad a doslov}% {prekl\adddot\ a dosl\adddot}}, - translatorcoin = {{prekladate\v{l}, koment\'{a}tor\ a \'{u}vod}% + translatorcoin = {{preklad, koment\'{a}r\ a \'{u}vod}% {prekl., kom\adddot\ a \'{u}v\adddot}}, - translatorscoin = {{prekladatelia, koment\'{a}tori\ a \'{u}vod}% + translatorscoin = {{preklad, koment\'{a}r\ a \'{u}vod}% {prekl., kom\adddot\ a \'{u}v\adddot}}, - translatorcofo = {{prekladate\v{l}, koment\'{a}tor\ a predhovor}% + translatorcofo = {{preklad, koment\'{a}r\ a predhovor}% {prekl., kom\adddot\ a predh\adddot}}, - translatorscofo = {{prekladatelia, koment\'{a}tori\ a predhovor}% + translatorscofo = {{preklad, koment\'{a}r\ a predhovor}% {prekl., kom\adddot\ a predh\adddot}}, - translatorcoaf = {{prekladate\v{l}, koment\'{a}tor\ a doslov}% + translatorcoaf = {{preklad, koment\'{a}r\ a doslov}% {prekl., kom\adddot\ a dosl\adddot}}, - translatorscoaf = {{prekladatelia, koment\'{a}tori\ a doslov}% + translatorscoaf = {{preklad, koment\'{a}r\ a doslov}% {prekl., kom\adddot\ a dosl\adddot}}, - translatoranin = {{prekladate\v{l}, anot\'{a}tor\ a \'{u}vod}% + translatoranin = {{preklad, anot\'{a}cia\ a \'{u}vod}% {prekl., anot\adddot\ a \'{u}v\adddot}}, - translatorsanin = {{prekladatelia, anot\'{a}tori\ a \'{u}vod}% + translatorsanin = {{preklad, anot\'{a}cie\ a \'{u}vod}% {prekl., anot\adddot\ a \'{u}v\adddot}}, - translatoranfo = {{prekladate\v{l}, anot\'{a}tor\ a predhovor}% + translatoranfo = {{preklad, anot\'{a}cia\ a predhovor}% {prekl., anot\adddot\ a predh\adddot}}, - translatorsanfo = {{prekladatelia, anot\'{a}tori\ a predhovor}% + translatorsanfo = {{preklad, anot\'{a}cie\ a predhovor}% {prekl., anot\adddot\ a predh\adddot}}, - translatoranaf = {{prekladate\v{l}, anot\'{a}tor\ a doslov}% + translatoranaf = {{preklad, anot\'{a}cia\ a doslov}% {prekl., anot\adddot\ a dosl\adddot}}, - translatorsanaf = {{prekladatelia, anot\'{a}tori\ a doslov}% + translatorsanaf = {{preklad, anot\'{a}cie\ a doslov}% {prekl., anot\adddot\ a dosl\adddot}}, -% organizer = {{}{}},% FIXME: missing -% organizers = {{}{}},% FIXME: missing -% byorganizer = {{}{}},% FIXME: missing - byauthor = {{}% - {}}, - byeditor = {{editovan\'{e}}% - {ed\adddot}}, - bycompiler = {{zostaven\'{e}}% - {zost\adddot}}, - byredactor = {{redigovan\'{e}}% - {red\adddot}}, - byfounder = {{zalo\v{z}en\'{e}}% - {zal\adddot}}, - bycontinuator = {{pokra\v{c}ovan\'{e}}% - {pokr\adddot}}, - bycollaborator = {{v\addnbspace spolupr\'{a}ci s}% - {v\addnbspace spol\adddotspace s}}, - bytranslator = {{prelo\v{z}en\'{e} \lbx@lfromlang}% - {prel\adddot\ \lbx@sfromlang}}, - bycommentator = {{komentovan\'{e}}% - {kom\adddot}}, - byannotator = {{anotovan\'{e}}% - {anot\adddot}}, - withcommentator = {{s\addnbspace koment\'{a}rom od}% - {s\addnbspace kom\adddotspace od}}, - withannotator = {{s\addnbspace anot\'{a}ciami od}% - {s\addnbspace anot\adddot\ od}}, - withintroduction = {{s\addnbspace \'{u}vodom od}% - {s\addnbspace \'{u}v\adddot\ od}}, - withforeword = {{s\addnbspace predhovorom od}% - {s\addnbspace predh\adddot\ od}}, - withafterword = {{s\addnbspace doslovom od}% - {s\addnbspace dosl\adddot\ od}}, - byeditortr = {{editovan\'{e} a prelo\v{z}en\'{e} \lbx@lfromlang\ }% - {ed\adddotspace a prel\adddot\ \lbx@sfromlang\ }}, + organizer = {{organiz\'{a}tor}{org\adddot}},% FIXME: unsure + organizers = {{organiz\'{a}tori}{org\adddot}},% FIXME: unsure + byorganizer = {{organizovan\'{e}}{org\adddot}},% FIXME: unsure + byauthor = {{}{}}, + byeditor = {{editovan\'{e}}{ed\adddot}}, + bycompiler = {{zostaven\'{e}}{zost\adddot}}, + byredactor = {{redigovan\'{e}}{red\adddot}}, + byreviser = {{korigovan\'{e}}{kor\adddot}}, + byreviewer = {{recenzovan\'{e}}{recenz\adddot}}, + byfounder = {{zalo\v{z}en\'{e}}{zal\adddot}}, + bycontinuator = {{pokra\v{c}ovan\'{e}}{pokr\adddot}}, + bycollaborator = {{v\addnbspace spolupr\'{a}ci s\addnbspace}{v\addnbspace spol\adddotspace s\addnbspace}}, + bytranslator = {{prelo\v{z}en\'{e} \lbx@lfromlang}{prel\adddot\ \lbx@sfromlang}}, + bycommentator = {{komentovan\'{e}}{kom\adddot}}, + byannotator = {{anotovan\'{e}}{anot\adddot}}, + withcommentator = {{s\addnbspace koment\'{a}rom od}{s\addnbspace kom\adddot\ od}}, + withannotator = {{s\addnbspace anot\'{a}ciami od}{s\addnbspace anot\adddot\ od}}, + withintroduction = {{s\addnbspace \'{u}vodom od}{s\addnbspace \'{u}v\adddot\ od}}, + withforeword = {{s\addnbspace predhovorom od}{s\addnbspace predh\adddot\ od}}, + withafterword = {{s\addnbspace doslovom od}{s\addnbspace dosl\adddot\ od}}, + byeditortr = {{editovan\'{e} a prelo\v{z}en\'{e} \lbx@lfromlang}% + {ed\adddotspace a prel\adddot\ \lbx@sfromlang}}, byeditorco = {{editovan\'{e} a komentovan\'{e}}% - {ed\adddotspace a kom\adddot\ }}, + {ed\adddotspace a kom\adddot}}, byeditoran = {{editovan\'{e} a anotovan\'{e}}% - {ed\adddotspace a anot\adddot\ }}, + {ed\adddotspace a anot\adddot}}, byeditorin = {{editovan\'{e}, s\addnbspace \'{u}vodom}% {ed.,\addabbrvspace s\addnbspace \'{u}v\adddot}}, byeditorfo = {{editovan\'{e}, s\addnbspace predhovorom}% - {ed.,\addabbrvspace s\addnbspace predh.,}}, + {ed.,\addabbrvspace s\addnbspace predh\adddot}}, byeditoraf = {{editovan\'{e}, s\addnbspace doslovom}% - {ed.,\addabbrvspace s\addnbspace dosl.,}}, + {ed.,\addabbrvspace s\addnbspace dosl\adddot}}, byeditortrco = {{editovan\'{e}, prelo\v{z}en\'{e} \lbx@lfromlang\ a komentovan\'{e}}% - {ed.,\addabbrvspace prel\adddot\ \lbx@sfromlang\ a kom\adddot\ }}, + {ed.,\addabbrvspace prel\adddot\ \lbx@sfromlang\ a kom\adddot}}, byeditortran = {{editovan\'{e}, prelo\v{z}en\'{e} \lbx@lfromlang\ a anotovan\'{e}}% - {ed.,\addabbrvspace prel\adddot\ \lbx@sfromlang\ a anot\adddot\ }}, + {ed.,\addabbrvspace prel\adddot\ \lbx@sfromlang\ a anot\adddot}}, byeditortrin = {{editovan\'{e} a prelo\v{z}en\'{e} \lbx@lfromlang, s\addnbspace \'{u}vodom}% {ed\adddotspace a prel\adddot\ \lbx@sfromlang, s\addnbspace \'{u}v\adddot}}, byeditortrfo = {{editovan\'{e} a prelo\v{z}en\'{e} \lbx@lfromlang, s\addnbspace predhovorom}% {ed\adddotspace a prel\adddot\ \lbx@sfromlang, s\addnbspace predh\adddot}}, byeditortraf = {{editovan\'{e} a prelo\v{z}en\'{e} \lbx@lfromlang, s\addnbspace doslovom}% - {ed\adddotspace a prekl\adddot\ \lbx@sfromlang, s\addnbspace dosl\adddot}}, + {ed\adddotspace a prel\adddot\ \lbx@sfromlang, s\addnbspace dosl\adddot}}, byeditorcoin = {{editovan\'{e} a komentovan\'{e}, s\addnbspace \'{u}vodom}% {ed\adddotspace a kom., s\addnbspace \'{u}v\adddot}}, byeditorcofo = {{editovan\'{e} a komentovan\'{e}, s\addnbspace predhovorom}% @@ -367,356 +330,206 @@ {prel\adddot\ \lbx@sfromlang\ a anot., s\addnbspace predh\adddot}}, bytranslatoranaf = {{prelo\v{z}en\'{e} \lbx@lfromlang\ a anotovan\'{e}, s\addnbspace doslovom}% {prel\adddot\ \lbx@sfromlang\ a anot., s\addnbspace dosl\adddot}}, - and = {{a}% - {a}}, - andothers = {{et\addabbrvspace al\adddot}% %et\addabbrvspace alii - {et\addabbrvspace al\adddot}}, - andmore = {{et\addabbrvspace al\adddot}% %et\addabbrvspace alii - {et\addabbrvspace al\adddot}}, - volume = {{zv\"{a}zok}% - {zv\adddot}}, - volumes = {{zv\"{a}zky}% - {zv\adddot}}, - involumes = {{in}% - {in}}, - jourvol = {{ro\v{c}n\'{i}k}% - {ro\v{c}\adddot}}, - jourser = {{ed\'{i}cia}% % ISO 690 -- section 2.17 - {ed\adddot}}, - book = {{kniha}% - {kniha}}, - part = {{\v{c}as\v{t}}% - {\v{c}as\v{t}}}, - issue = {{\v{c}\'{i}slo}% - {\v{c}\'{i}slo}}, - newseries = {{nov\'{a} ed\'{i}cia}% % ISO 690 -- section 2.17 - {n\adddotspace ed\adddot}}, - oldseries = {{star\'{a} ed\'{i}cia}% % ISO 690 -- section 2.17 - {st\adddotspace ed\adddot}}, - edition = {{vydanie}% - {vyd\adddot}}, - reprint = {{dotla\v{c}}% - {dotl\adddot}}, - reprintof = {{dotla\v{c}}% - {dotl\adddot}}, - reprintas = {{dotla\v{c}en\'{e} ako}% - {dotl\adddotspace ako}}, - reprintfrom = {{dotla\v{c}en\'{e} z}% - {dotl\adddotspace z}}, - reviewof = {{hodnotenie}% - {hodn\adddot}}, - translationof = {{preklad}% - {prekl\adddot}}, - translationas = {{prelo\v{z}en\'{e} ako}% - {prel\adddotspace ako}}, - translationfrom = {{prelo\v{z}en\'{e} z}% - {prel\adddotspace z}}, - origpubas = {{p\^{o}vodne vydan\'{e} ako}% - {p\^{o}v\adddotspace vyd\adddotspace ako}}, - origpubin = {{p\^{o}vodne vydan\'{e} v\addnbspace roku}% - {p\^{o}v\adddotspace vyd\adddotspace v\addnbspace r\adddot}}, - astitle = {{ako}% - {ako}}, - bypublisher = {{}% - {}}, - page = {{strana}% - {s\adddot}}, - pages = {{strany}% - {s\adddot}}, - column = {{st\'{l}pec}% - {st\'{l}p\adddot}}, - columns = {{st\'{l}pce}% - {st\'{l}p\adddot}}, - line = {{riadok}% - {r\adddot}}, - lines = {{riadky}% - {r\adddot}}, - nodate = {{nedatovan\'{e}}% % ISO 690 -- section 9.3.4 - {b\adddotspace r\adddot}}, % bez roku - verse = {{ver\v{s}}% - {v\adddot}}, - verses = {{ver\v{s}e}% - {v\adddot}}, - section = {{paragraf}% - {\S}}, - sections = {{paragrafy}% - {\S\S}}, - paragraph = {{odsek}% - {ods\adddot}}, - paragraphs = {{odseky}% - {ods\adddot}}, - in = {{in}% - {in}}, - inseries = {{v}% - {v}}, - ofseries = {{z}% - {z}}, - number = {{\v{c}\'{i}slo}% - {\v{c}\adddot}}, - chapter = {{kapitola}% - {kap\adddot}}, -% bathesis = {{}{}},% FIXME: missing - mathesis = {{diplomov\'{a} pr\'{a}ca}% - {dipl\adddotspace pr\adddot}}, - phdthesis = {{dizerta\v{c}n\'{a} pr\'{a}ca}% - {diz\adddotspace pr\adddot}}, - candthesis = {{kandid\'{a}tska pr\'{a}ca}% - {kand\adddotspace pr\adddot}}, - resreport = {{v\'{y}skumn\'{a} spr\'{a}va}% - {v\'{y}sk\adddot\ spr\adddot}}, - techreport = {{technick\'{a} spr\'{a}va}% - {tech\adddotspace spr\adddot}}, - software = {{po\v{c}\'{i}ta\v{c}ov\'{y} softv\'{e}r}% - {soft\adddot}}, - datacd = {{CD-ROM}% - {CD-ROM}}, - audiocd = {{audio CD}% - {audio CD}}, - version = {{verzia}% - {ver\adddot}}, - url = {{url}% - {url}}, - urlfrom = {{dostupn\'{e} z}% % ISO 690 -- section 15.2.6 - {dostupn\'{e} z}}, - urlseen = {{citovane\'{e}}% - {cit\adddot}}, - inpreparation = {{v\addnbspace pr\'{i}prave}% - {v\addnbspace pr\'{i}prave}}, - submitted = {{predlo\v{z}en\'{e}}% - {predl\adddot}}, - forthcoming = {{prijat\'{e}}% - {prij\adddot}}, - inpress = {{v\addnbspace tla\v{c}i}% - {v\addnbspace tla\v{c}i}}, - prepublished = {{pred publikovan\'{i}m}% - {pred publ\adddot}}, - citedas = {{\v{d}alej citovan\'{e} ako}% - {\v{d}alej cit\adddotspace ako}}, - thiscite = {{obzvl\'{a}\v{s}\v{t}}% - {obzvl\adddot}}, - seenote = {{vi\v{d} pozn\'{a}mka}% - {vi\v{d} pozn\adddot}}, - quotedin = {{citovan\'{e} v}% - {cit\adddotspace v}}, - idem = {{idem}% - {idem}}, - idemsm = {{idem}% - {idem}}, - idemsf = {{eadem}% - {eadem}}, - idemsn = {{idem}% - {idem}}, - idempm = {{eidem}% - {eidem}}, - idempf = {{eaedem}% - {eaedem}}, - idempn = {{eadem}% - {eadem}}, - idempp = {{eidem}% - {eidem}}, - ibidem = {{ibidem}% - {ibid\adddot}}, - opcit = {{op\adddotspace cit\adddot}% - {op\adddotspace cit\adddot}}, - loccit = {{loc\adddotspace cit\adddot}% - {loc\adddotspace cit\adddot}}, - confer = {{cf\adddot}% - {cf\adddot}}, - sequens = {{sq\adddot}% - {sq\adddot}}, - sequentes = {{sqq\adddot}% - {sqq\adddot}}, - passim = {{passim}% - {pass\adddot}}, - see = {{vi\v{d}}% - {vi\v{d}}}, - seealso = {{vi\v{d} tie\v{z}}% - {vi\v{d} tie\v{z}}}, - backrefpage = {{citovan\'{e} na strane}% - {cit\adddotspace na s\adddot}}, - backrefpages = {{citovan\'{e} na stran\'{a}ch}% - {cit\adddotspace na str\adddot}}, - january = {{janu\'{a}r}% - {jan\adddot}}, - february = {{febru\'{a}r}% - {feb\adddot}}, - march = {{marec}% - {mar\adddot}}, - april = {{apr\'{i}l}% - {apr\adddot}}, - may = {{m\'{a}j}% - {m\'{a}j}}, - june = {{j\'{u}n}% - {j\'{u}n}}, - july = {{j\'{u}l}% - {j\'{u}l}}, - august = {{august}% - {aug\adddot}}, - september = {{september}% - {sept\adddot}}, - october = {{okt\'{o}ber}% - {okt\adddot}}, - november = {{november}% - {nov\adddot}}, - december = {{december}% - {dec\adddot}}, - langamerican = {{americk\'{a} angli\v{c}tina}% - {am\adddot angl\adddot}}, - langbrazilian = {{braz\'{i}lska portugal\v{c}ina}% - {braz\adddot portugal\adddot}}, -% langbulgarian = {{}{}},% FIXME: missing - langcatalan = {{katal\'{a}n\v{c}ina}% - {katal\adddot}}, - langcroatian = {{chorv\'{a}t\v{c}ina}% - {chorv\adddot}}, - langczech = {{\v{c}e\v{s}tina}% - {\v{c}e\v{s}tina}}, - langdanish = {{d\'{a}n\v{c}ina}% - {d\'{a}n\adddot}}, - langdutch = {{holand\v{c}ina}% - {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}% - {franc\adddot}}, - langgalician = {{gal\'icij\v{c}ina}% - {gal\adddot}}, - langgerman = {{nem\v{c}ina}% - {nem\adddot}}, - langgreek = {{gr\'{e}\v{c}tina}% - {gr\'{e}\v{c}tina}}, -% langhungarian = {{}{}}, % FIXME: missing - langitalian = {{talian\v{c}ina}% - {tal\adddot}}, - langjapanese = {{japon\v{c}ina}% - {jap\adddot}}, - langlatin = {{latin\v{c}ina}% - {lat\adddot}}, -% langlatvian = {{}{}},% FIXME: missing - langnorwegian = {{n\'{o}r\v{c}ina}% - {n\'{o}r\adddot}}, - langpolish = {{po\v{l}\v{s}tina}% - {po\v{l}\adddot}}, - langportuguese = {{portugal\v{c}ina}% - {portugal\adddot}}, - langrussian = {{ru\v{s}tina}% - {ru\v{s}tina}}, - langslovak = {{sloven\v{c}ina}% - {sloven\v{c}ina}}, - langslovene = {{slovin\v{c}ina}% - {slovin\v{c}ina}}, - langspanish = {{\v{s}paniel\v{c}ina}% - {\v{s}pan\adddot}}, - langswedish = {{\v{s}v\'{e}d\v{c}ina}% - {\v{s}v\'{e}d\adddot}}, - fromamerican = {{z\addnbspace americkej angli\v{c}tiny}% - {z\addnbspace amer\adddot angl\adddot}}, - frombrazilian = {{z\addnbspace braz\'{i}lskej portugal\v{c}iny}% - {z\addnbspace braz\adddotspace portugal\adddot}}, -% frombulgarian = {{}{}},% FIXME: missing - fromcatalan = {{z\addnbspace katal\'{a}n\v{c}iny}% - {z\addnbspace katal\adddot}}, - fromcroatian = {{z\addnbspace chorvat\v{c}iny}% - {z\addnbspace chorv\adddot}}, - fromczech = {{z\addnbspace \v{c}e\v{s}tiny}% - {z\addnbspace \v{c}e\v{s}tiny}}, - fromdanish = {{z\addnbspace d\'{a}n\v{c}iny}% - {z\addnbspace d\'{a}n\adddot}}, - fromdutch = {{z\addnbspace holand\v{c}iny}% - {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}% - {z\addnbspace franc\adddot}}, - fromgalician = {{z\addnbspace gal\'icij\v{c}ina}% - {z\addbnspace gal\adddot}}, - fromgerman = {{z\addnbspace nem\v{c}iny}% - {z\addnbspace nem\adddot}}, - fromgreek = {{z\addnbspace gr\'{e}\v{c}tiny}% - {z\addnbspace gr\'{e}\v{c}tiny}}, -% fromhungarian = {{}{}}, % FIXME: missing - fromitalian = {{z\addnbspace talian\v{c}iny}% - {z\addnbspace tal\adddot}}, - fromjapanese = {{z\addnbspace japon\v{c}iny}% - {z\addnbspace jap\adddot}}, - fromlatin = {{z\addnbspace latin\v{c}iny}% - {z\addnbspace lat\adddot}}, -% fromlatvian = {{}{}},% FIXME: missing - fromnorwegian = {{z\addnbspace n\'{o}r\v{c}iny}% - {z\addnbspace n\'{o}r\adddot}}, - frompolish = {{z\addnbspace po\v{l}\v{s}tiny}% - {z\addnbspace po\v{l}\adddot}}, - fromportuguese = {{z\addnbspace portugal\v{c}iny}% - {z\addnbspace portugal\adddot}}, - fromrussian = {{z\addnbspace ru\v{s}tiny}% - {z\addnbspace ru\v{s}tiny}}, - fromslovak = {{zo sloven\v{c}iny}% - {zo sloven\v{c}iny}}, - fromslovene = {{zo slovin\v{c}iny}% - {zo slovin\v{c}iny}}, - fromspanish = {{zo \v{s}paniel\v{c}iny}% - {zo \v{s}pan\adddot}}, - fromswedish = {{zo \v{s}v\'{e}d\v{c}iny}% - {zo \v{s}v\'{e}d\adddot}}, - countryde = {{Nemecko}% - {DE}}, - countryeu = {{Eur\'{o}pska \'{u}nia}% - {EU}}, - countryep = {{Eur\'{o}pska \'{u}nia}% - {EP}}, - countryfr = {{Franc\'{u}zsko}% - {FR}}, - countryuk = {{Ve\v{l}k\'{a} Brit\'{a}nia}% - {GB}}, - countryus = {{Spojen\'{e} \v{S}t\'{a}ty Americk\'{e}}% - {US}}, - patent = {{patent}% - {pat\adddot}}, - patentde = {{nemeck\'{y} patent}% - {nem\adddot\ pat\adddot}}, - patenteu = {{eur\'{o}psky patent}% - {eur\adddot\ pat\adddot}}, - patentfr = {{franc\'{u}zsky patent}% - {franc\adddot\ pat\adddot}}, - patentuk = {{britsk\'{y} patent}% - {britsk\'{y} pat\adddot}}, - patentus = {{americk\'{y} patent}% - {US\adddotspace pat\adddot}}, - patreq = {{patentov\'{a} \v{z}iados\v{t}}% - {pat\adddot\ \v{z}iad\adddot}}, - patreqde = {{nemeck\'{a} patentov\'{a} \v{z}iados\v{t}}% - {nem\adddot\ pat\adddot\ \v{z}iad\adddot}}, - patreqeu = {{eur\'{o}pska patentov\'{a} \v{z}iados\v{t}}% - {eur\adddot\ pat\adddot\ \v{z}iad\adddot}}, - patreqfr = {{franc\'{u}zska patentov\'{a} \v{z}iados\v{t}}% - {franc\adddot\ pat\adddot\ \v{z}iad\adddot}}, - patrequk = {{britsk\'{a} patentov\'{a} \v{z}iados\v{t}}% - {brit\adddot\ pat\adddot\ \v{z}iad\adddot}}, - patrequs = {{US\adddotspace patentov\'{a} \v{z}iados\v{t}}% - {US\adddotspace pat\adddot\ \v{z}iad\adddot}}, - file = {{s\'{u}bor}% - {s\'{u}b\adddot}}, - library = {{kni\v{z}nica}% - {kni\v{z}nica}}, - abstract = {{abstrakt}% - {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 + and = {{a}{a}}, + andothers = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, + andmore = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}}, + volume = {{zv\"{a}zok}{zv\adddot}}, + volumes = {{zv\"{a}zky}{zv\adddot}}, + involumes = {{in}{in}}, + jourvol = {{ro\v{c}n\'{\i}k}{ro\v{c}\adddot}}, + jourser = {{ed\'{\i}cia}{ed\adddot}}, + book = {{kniha}{kniha}}, + part = {{\v{c}as\v{t}}{\v{c}as\v{t}}}, + issue = {{\v{c}\'{\i}slo}{\v{c}\'{\i}slo}}, + newseries = {{nov\'{a} ed\'{\i}cia}{n\adddotspace ed\adddot}}, + oldseries = {{star\'{a} ed\'{\i}cia}{st\adddotspace ed\adddot}}, + edition = {{vydanie}{vyd\adddot}}, + reprint = {{dotla\v{c}}{dotl\adddot}}, + reprintof = {{dotla\v{c}}{dotl\adddot}}, + reprintas = {{dotla\v{c}en\'{e} ako}{dotl\adddotspace ako}}, + reprintfrom = {{dotla\v{c}en\'{e} z\addnbspace}{dotl\adddotspace z\addnbspace}}, + reviewof = {{recenzia}{recenz\adddot}}, + translationof = {{preklad}{prekl\adddot}}, + translationas = {{prelo\v{z}en\'{e} ako}{prel\adddotspace ako}}, + translationfrom = {{prelo\v{z}en\'{e} z\addnbspace}{prel\adddotspace z\addnbspace}}, + origpubas = {{p\^{o}vodne vydan\'{e} ako}{p\^{o}v\adddotspace vyd\adddotspace ako}}, + origpubin = {{p\^{o}vodne vydan\'{e} v\addnbspace roku}{p\^{o}v\adddotspace vyd\adddotspace v\addnbspace r\adddot}}, + astitle = {{ako}{ako}}, + bypublisher = {{}{}}, + nodate = {{nedatovan\'{e}}{b\adddot r\adddot}},% bez roku + page = {{strana}{s\adddot}}, + pages = {{strany}{s\adddot}}, + column = {{st\'{l}pec}{st\'{l}p\adddot}}, + columns = {{st\'{l}pce}{st\'{l}p\adddot}}, + line = {{riadok}{r\adddot}}, + lines = {{riadky}{r\adddot}}, + verse = {{ver\v{s}}{v\adddot}}, + verses = {{ver\v{s}e}{v\adddot}}, + section = {{sekcia}{\S}}, + sections = {{sekcie}{\S\S}}, + paragraph = {{odsek}{ods\adddot}}, + paragraphs = {{odseky}{ods\adddot}}, + pagetotal = {{strana}{s\adddot}}, + pagetotals = {{strany}{s\adddot}}, + columntotal = {{st\'{l}pec}{st\'{l}p\adddot}}, + columntotals = {{st\'{l}pce}{st\'{l}p\adddot}}, + linetotal = {{riadok}{r\adddot}}, + linetotals = {{riadky}{r\adddot}}, + versetotal = {{ver\v{s}}{v\adddot}}, + versetotals = {{ver\v{s}e}{v\adddot}}, + sectiontotal = {{sekcia}{\S}}, + sectiontotals = {{sekcie}{\S\S}}, + paragraphtotal = {{odsek}{ods\adddot}}, + paragraphtotals = {{odseky}{ods\adddot}}, + in = {{in}{in}}, + inseries = {{in}{in}}, + ofseries = {{z}{z}}, + number = {{\v{c}\'{\i}slo}{\v{c}\adddot}}, + chapter = {{kapitola}{kap\adddot}}, + bathesis = {{bakal\'{a}rska pr\'{a}ca}{bak\adddotspace pr\adddot}}, + mathesis = {{diplomov\'{a} pr\'{a}ca}{dipl\adddotspace pr\adddot}}, + phdthesis = {{dizerta\v{c}n\'{a} pr\'{a}ca}{diz\adddotspace pr\adddot}}, + candthesis = {{kandid\'{a}tska pr\'{a}ca}{kand\adddotspace pr\adddot}},% FIXME: unsure + resreport = {{v\'{y}skumn\'{a} spr\'{a}va}{v\'{y}sk\adddot\ spr\adddot}}, + techreport = {{technick\'{a} spr\'{a}va}{tech\adddotspace spr\adddot}}, + software = {{po\v{c}\'{\i}ta\v{c}ov\'{y} softv\'{e}r}{soft\adddot}}, + datacd = {{CD-ROM}{CD-ROM}}, + audiocd = {{audio CD}{audio CD}}, + version = {{verzia}{ver\adddot}}, + url = {{URL}{URL}}, + urlfrom = {{dostupn\'{e} z\addnbspace}{dostupn\'{e} z\addnbspace}}, + urlseen = {{citovan\'{e}}{cit\adddot}}, + inpreparation = {{v\addnbspace pr\'{\i}prave}{v\addnbspace pr\'{\i}prave}}, + submitted = {{odoslan\'{e}}{odosl\adddot}}, + forthcoming = {{bud\'{u}ce}{bud\adddot}}, + inpress = {{v\addnbspace tla\v{c}i}{v\addnbspace tla\v{c}i}}, + prepublished = {{pred publikovan\'{\i}m}{pred publ\adddot}}, + citedas = {{\v{d}alej citovan\'{e} ako}{\v{d}alej cit\adddotspace ako}}, + thiscite = {{obzvl\'{a}\v{s}\v{t}}{obzvl\adddot}}, + seenote = {{vi\v{d} pozn\'{a}mka}{vi\v{d} pozn\adddot}}, + quotedin = {{citovan\'{e} v\addnbspace}{cit\adddotspace v\addnbspace}}, + idem = {{idem}{idem}}, + idemsm = {{idem}{idem}}, + idemsf = {{eadem}{eadem}}, + idemsn = {{idem}{idem}}, + idempm = {{eidem}{eidem}}, + idempf = {{eaedem}{eaedem}}, + idempn = {{eadem}{eadem}}, + idempp = {{eidem}{eidem}}, + ibidem = {{ibidem}{ibid\adddot}}, + opcit = {{op\adddotspace cit\adddot}{op\adddotspace cit\adddot}}, + loccit = {{loc\adddotspace cit\adddot}{loc\adddotspace cit\adddot}}, + confer = {{cf\adddot}{cf\adddot}}, + sequens = {{sq\adddot}{sq\adddot}}, + sequentes = {{sqq\adddot}{sqq\adddot}}, + passim = {{passim}{pass\adddot}}, + see = {{vi\v{d}}{vi\v{d}}}, + seealso = {{vi\v{d} tie\v{z}}{vi\v{d} tie\v{z}}}, + backrefpage = {{citovan\'{e} na strane}{cit\adddotspace na str\adddot}}, + backrefpages = {{citovan\'{e} na stran\'{a}ch}{cit\adddotspace na s\adddot}}, + january = {{janu\'{a}r}{jan\adddot}}, + february = {{febru\'{a}r}{feb\adddot}}, + march = {{marec}{mar\adddot}}, + april = {{apr\'{\i}l}{apr\adddot}}, + may = {{m\'{a}j}{m\'{a}j}}, + june = {{j\'{u}n}{j\'{u}n}}, + july = {{j\'{u}l}{j\'{u}l}}, + august = {{august}{aug\adddot}}, + september = {{september}{sept\adddot}}, + october = {{okt\'{o}ber}{okt\adddot}}, + november = {{november}{nov\adddot}}, + december = {{december}{dec\adddot}}, + langamerican = {{americk\'{a} angli\v{c}tina}{am\adddot\ angl\adddot}}, + langbrazilian = {{braz\'{\i}lska portugal\v{c}ina}{braz\adddot\ portugal\adddot}}, + langbulgarian = {{bulhar\v{c}ina}{bulh\adddot}}, + langcatalan = {{katal\'{a}n\v{c}ina}{katal\adddot}}, + langcroatian = {{chorv\'{a}t\v{c}ina}{chorv\adddot}}, + langczech = {{\v{c}e\v{s}tina}{\v{c}e\v{s}tina}}, + langdanish = {{d\'{a}n\v{c}ina}{d\'{a}n\adddot}}, + langdutch = {{holand\v{c}ina}{hol\adddot}}, + langenglish = {{angli\v{c}tina}{angl\adddot}}, + langestonian = {{est\'{o}n\v{c}ina}{est\adddot}}, + langfinnish = {{f\'{\i}n\v{c}ina}{f\'{\i}n\adddot}}, + langfrench = {{franc\'{u}z\v{s}tina}{franc\adddot}}, + langgalician = {{gal\'{\i}cij\v{c}ina}{gal\adddot}}, + langgerman = {{nem\v{c}ina}{nem\adddot}}, + langgreek = {{gr\'{e}\v{c}tina}{gr\'{e}\v{c}tina}}, + langhungarian = {{ma\v{d}ar\v{c}ina}{ma\v{d}\adddot}}, + langitalian = {{talian\v{c}ina}{tal\adddot}}, + langjapanese = {{japon\v{c}ina}{jap\adddot}}, + langlatin = {{latin\v{c}ina}{lat\adddot}}, + langlatvian = {{loty\v{s}tina}{lot\adddot}}, + langnorwegian = {{n\'{o}r\v{c}ina}{n\'{o}r\adddot}}, + langpolish = {{po\v{l}\v{s}tina}{po\v{l}\adddot}}, + langportuguese = {{portugal\v{c}ina}{port\adddot}}, + langrussian = {{ru\v{s}tina}{ru\v{s}tina}}, + langserbian = {{srb\v{c}ina}{srb\adddot}}, + langslovak = {{sloven\v{c}ina}{sloven\v{c}ina}}, + langslovene = {{slovin\v{c}ina}{slovin\v{c}ina}}, + langspanish = {{\v{s}paniel\v{c}ina}{\v{s}pan\adddot}}, + langswedish = {{\v{s}v\'{e}d\v{c}ina}{\v{s}v\'{e}d\adddot}}, + langukrainian = {{ukrajin\v{c}ina}{ukr\adddot}}, + fromamerican = {{z\addnbspace americkej angli\v{c}tiny}{z\addnbspace amer\adddot\ angl\adddot}}, + frombrazilian = {{z\addnbspace braz\'{\i}lskej portugal\v{c}iny}{z\addnbspace braz\adddotspace portugal\adddot}}, + frombulgarian = {{z\addnbspace bulhar\v{c}iny}{z\addnbspace bulh\adddot}}, + fromcatalan = {{z\addnbspace katal\'{a}n\v{c}iny}{z\addnbspace katal\adddot}}, + fromcroatian = {{z\addnbspace chorvat\v{c}iny}{z\addnbspace chorv\adddot}}, + fromczech = {{z\addnbspace \v{c}e\v{s}tiny}{z\addnbspace \v{c}e\v{s}tiny}}, + fromdanish = {{z\addnbspace d\'{a}n\v{c}iny}{z\addnbspace d\'{a}n\adddot}}, + fromdutch = {{z\addnbspace holand\v{c}iny}{z\addnbspace hol\adddot}}, + fromenglish = {{z\addnbspace angli\v{c}tiny}{z\addnbspace angl\adddot}}, + fromestonian = {{z\addnbspace est\'{o}n\v{c}iny}{z\addnbspace est\adddot}}, + fromfinnish = {{z\addnbspace f\'{\i}n\v{c}iny}{z\addnbspace f\'{\i}n\adddot}}, + fromfrench = {{z\addnbspace franc\'{u}z\v{s}tiny}{z\addnbspace franc\adddot}}, + fromgalician = {{z\addnbspace gal\'{\i}cij\v{c}ina}{z\addbnspace gal\adddot}}, + fromgerman = {{z\addnbspace nem\v{c}iny}{z\addnbspace nem\adddot}}, + fromgreek = {{z\addnbspace gr\'{e}\v{c}tiny}{z\addnbspace gr\'{e}\v{c}tiny}}, + fromhungarian = {{z\addnbspace ma\v{d}ar\v{c}iny}{z\addnbspace ma\v{d}\adddot}}, + fromitalian = {{z\addnbspace talian\v{c}iny}{z\addnbspace tal\adddot}}, + fromjapanese = {{z\addnbspace japon\v{c}iny}{z\addnbspace jap\adddot}}, + fromlatin = {{z\addnbspace latin\v{c}iny}{z\addnbspace lat\adddot}}, + fromlatvian = {{z\addnbspace loty\v{s}tiny}{z\addnbspace lot\adddot}}, + fromnorwegian = {{z\addnbspace n\'{o}r\v{c}iny}{z\addnbspace n\'{o}r\adddot}}, + frompolish = {{z\addnbspace po\v{l}\v{s}tiny}{z\addnbspace po\v{l}\adddot}}, + fromportuguese = {{z\addnbspace portugal\v{c}iny}{z\addnbspace portugal\adddot}}, + fromrussian = {{z\addnbspace ru\v{s}tiny}{z\addnbspace ru\v{s}tiny}}, + fromserbian = {{zo srb\v{c}iny}{zo srb\adddot}}, + fromslovak = {{zo sloven\v{c}iny}{zo sloven\v{c}iny}}, + fromslovene = {{zo slovin\v{c}iny}{zo slovin\v{c}iny}}, + fromspanish = {{zo \v{s}paniel\v{c}iny}{zo \v{s}pan\adddot}}, + fromswedish = {{zo \v{s}v\'{e}d\v{c}iny}{zo \v{s}v\'{e}d\adddot}}, + fromukrainian = {{z\addnbspace ukrajin\v{c}iny}{z\addnbspace ukr\adddot}}, + countryde = {{Nemecko}{DE}}, + countryeu = {{Eur\'{o}pska \'{u}nia}{EU}}, + countryep = {{Eur\'{o}pska \'{u}nia}{EP}}, + countryfr = {{Franc\'{u}zsko}{FR}}, + countryuk = {{Ve\v{l}k\'{a} Brit\'{a}nia}{GB}}, + countryus = {{Spojen\'{e} \v{s}t\'{a}ty americk\'{e}}{US}}, + patent = {{patent}{pat\adddot}}, + patentde = {{nemeck\'{y} patent}{nem\adddot\ pat\adddot}}, + patenteu = {{eur\'{o}psky patent}{eur\adddot\ pat\adddot}}, + patentfr = {{franc\'{u}zsky patent}{franc\adddot\ pat\adddot}}, + patentuk = {{britsk\'{y} patent}{brit\adddot\ pat\adddot}}, + patentus = {{US patent}{US pat\adddot}}, + patreq = {{patentov\'{a} \v{z}iados\v{t}}{pat\adddot\ \v{z}iad\adddot}}, + patreqde = {{nemeck\'{a} patentov\'{a} \v{z}iados\v{t}}{nem\adddot\ pat\adddot\ \v{z}iad\adddot}}, + patreqeu = {{eur\'{o}pska patentov\'{a} \v{z}iados\v{t}}{eur\adddot\ pat\adddot\ \v{z}iad\adddot}}, + patreqfr = {{franc\'{u}zska patentov\'{a} \v{z}iados\v{t}}{franc\adddot\ pat\adddot\ \v{z}iad\adddot}}, + patrequk = {{britsk\'{a} patentov\'{a} \v{z}iados\v{t}}{brit\adddot\ pat\adddot\ \v{z}iad\adddot}}, + patrequs = {{US patentov\'{a} \v{z}iados\v{t}}{US pat\adddot\ \v{z}iad\adddot}}, + file = {{s\'{u}bor}{s\'{u}b\adddot}}, + library = {{kni\v{z}nica}{kni\v{z}nica}}, + abstract = {{abstrakt}{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 = {{cirka}{ca\adddot}}, + spring = {{jar}{jar}}, + summer = {{leto}{leto}}, + autumn = {{jese\v{n}}{jese\v{n}}}, + winter = {{zima}{zima}}, am = {{AM}{AM}}, pm = {{PM}{PM}}, } diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx index 225361ed45e..d1c1df5f41c 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx @@ -40,13 +40,17 @@ \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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx index 3326fe55d20..9f07124a8d2 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx @@ -53,13 +53,17 @@ \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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx index d0b3cf17473..2ac4fb301b3 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx @@ -77,13 +77,17 @@ Swedish dates. Using format 'short' instead}% \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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% @@ -332,7 +336,7 @@ origpubin = {{ursprungligen publicerad}{ursprungligen publ\adddot}}, astitle = {{som}{som}}, bypublisher = {{av}{av}}, - nodate = {{u\adddot d\adddot}{n\adddot d\adddot}},%FIXME + nodate = {{u\adddot\,\aa \adddot}{u\adddot\,\aa \adddot}}, page = {{sidan}{s\adddot}}, pages = {{sidorna}{s\adddot}}, column = {{spalt}{sp\adddot}}, diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/turkish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/turkish.lbx new file mode 100644 index 00000000000..ad999c180ec --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/turkish.lbx @@ -0,0 +1,552 @@ +\ProvidesFile{turkish.lbx} +[\abx@lbxid] + +\DeclareRedundantLanguages{turkish}{turkish} + +\DeclareBibliographyExtras{% + \DeclareCapitalPunctuation{.!?}% + \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} + {} + {\thefield{#3}% + \iffieldundef{#2}{}{\nobreakspace}}% + \iffieldundef{#2} + {} + {\mkbibmonth{\thefield{#2}}% + \iffieldundef{#1}{}{\space}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}% + \protected\def\mkbibdateshort#1#2#3{% + \iffieldundef{#3} + {} + {\mkdayzeros{\thefield{#3}}% + \iffieldundef{#2}{}{/}}% + \iffieldundef{#2} + {} + {\mkmonthzeros{\thefield{#2}}% + \iffieldundef{#1}{}{/}}% + \iffieldbibstring{#1} + {\bibstring{\thefield{#1}}} + {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}% + \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{% + \iffieldundef{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% + \iffieldundef{#4}{} + {\bibtimezonesep + \mkbibtimezone{\thefield{#4}}}}% + \expandafter\protected\expandafter\def\csname mkbibtime12h\endcsname#1#2#3#4{% + \stripzeros{\mktimehh{\thefield{#1}}}\bibtimesep + \forcezerosmdt{\thefield{#2}}% + \iffieldundef{#3}{} + {\bibtimesep + \forcezerosmdt{\thefield{#3}}}% + \space + \ifnumless{\thefield{#1}}{12} + {\bibstring{am}} + {\bibstring{pm}}% + \iffieldundef{#4}{} + {\space\bibtimezonesep + \parentext{\mkbibtimezone{\thefield{#4}}}}}% + \protected\def\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\lbx@lfromlang + \savecommand\lbx@sfromlang + \def\lbx@lfromlang{% + \iflistundef{origlanguage} + {} + {\printlist[lfromoriglanguage]{origlanguage}\space}}% + \def\lbx@sfromlang{% + \iflistundef{origlanguage} + {} + {\printlist[sfromoriglanguage]{origlanguage}\space}}% +} + +\UndeclareBibliographyExtras{% + \restorecommand\lbx@lfromlang + \restorecommand\lbx@sfromlang +} + +\DeclareBibliographyStrings{% + bibliography = {{Kaynak\c{c}a}{Kaynak\c{c}a}}, + references = {{Kaynaklar}{Kaynaklar}}, + shorthands = {{K\i saltmalar dizini}{K\i saltmalar}}, + editor = {{edit\"{o}r}{ed\adddot}}, + editors = {{edit\"{o}rler}{ed\adddot}}, + compiler = {{derleyen}{der\adddot}}, + compilers = {{derleyenler}{der\adddot}}, + redactor = {{yay\i na haz\i rlayan}{yay\adddot\ haz\adddot}}, + redactors = {{yay\i na haz\i rlayanlar}{yay\adddot\ haz\adddot}}, + reviser = {{tashih eden}{tashih\adddot}}, + revisers = {{tashih edenler}{tashih\adddot}}, + founder = {{kurucu}{kur\adddot}}, + founders = {{kurucular}{kur\adddot}}, + continuator = {{tamamlayan}{tam\adddot}}, + continuators = {{tamamlayanlar}{tam\adddot}}, + collaborator = {{ortak}{ortak}}, + collaborators = {{ortaklar}{ortaklar}}, + translator = {{\c{c}eviren}{\c{c}ev\adddot}}, + translators = {{\c{c}evirenler}{\c{c}ev\adddot}}, + commentator = {{yorumlayan}{yrm\adddot}}, + commentators = {{yorumlayanlar}{yrm\adddot}}, + annotator = {{a\c{c}\i klayan}{a\c{c}\i k\adddot}}, + annotators = {{a\c{c}\i klayanlar}{a\c{c}\i k\adddot}}, + commentary = {{yorum}{yrm\adddot}}, + annotations = {{a\c{c}\i klamalar}{a\c{c}\i k\adddot}}, + introduction = {{giri\c{s}}{gir\adddot}}, + foreword = {{\"{o}ns\"{o}z}{\"{o}ns\adddot}}, + afterword = {{sons\"{o}z}{sons\adddot}}, + editortr = {{edit\"{o}r ve \c{c}eviren}% + {ed\adddot\ ve \c{c}ev\adddot}}, + editorstr = {{edit\"{o}rler ve \c{c}evirenler}% + {ed\adddot\ ve \c{c}ev\adddot}}, + editorco = {{edit\"{o}r ve yorumlayan}% + {ed\adddot\ ve yrm\adddot}}, + editorsco = {{edit\"{o}rler ve yorumlayanlar}% + {ed\adddot\ ve yrm\adddot}}, + editoran = {{edit\"{o}r ve a\c{c}\i klayan}% + {ed\adddot\ ve a\c{c}\i k\adddot}}, + editorsan = {{edit\"{o}rler ve a\c{c}\i klayanlar}% + {ed\adddot\ ve a\c{c}\i k\adddot}}, + editorin = {{edit\"{o}r ve giri\c{s}}% + {ed\adddot\ ve gir\adddot}}, + editorsin = {{edit\"{o}rler ve giri\c{s}}% + {ed\adddot\ ve gir\adddot}}, + editorfo = {{edit\"{o}r ve \"{o}ns\"{o}z}% + {ed\adddot\ ve \"{o}ns\adddot}}, + editorsfo = {{edit\"{o}rler ve \"{o}ns\"{o}z}% + {ed\adddot\ ve \"{o}ns\adddot}}, + editoraf = {{edit\"{o}r ve sons\"{o}z}% + {ed\adddot\ ve sons\adddot}}, + editorsaf = {{edit\"{o}rler ve sons\"{o}z}% + {ed\adddot\ ve sons\adddot}}, + editortrco = {{edit\"{o}r, \c{c}eviren and yorumlayan}% + {ed\adddot, \c{c}ev\adddot\ ve yrm\adddot}}, + editorstrco = {{edit\"{o}rler, \c{c}evirenler ve yorumlayanlar}% + {ed\adddot, \c{c}ev\adddot\ ve yrm\adddot}}, + editortran = {{edit\"{o}r, \c{c}eviren ve a\c{c}\i klayan}% + {ed\adddot, \c{c}ev\adddot\ ve a\c{c}\i k\adddot}}, + editorstran = {{edit\"{o}rler, \c{c}evirenler ve a\c{c}\i klayanlar}% + {ed\adddot, \c{c}ev\adddot\ ve a\c{c}\i k\adddot}}, + editortrin = {{edit\"{o}r, \c{c}eviren ve giri\c{s}}% + {ed\adddot, \c{c}ev\adddot\ ve gir\adddot}}, + editorstrin = {{edit\"{o}rler, \c{c}evirenler ve giri\c{s}}% + {ed\adddot, \c{c}ev\adddot\ ve gir\adddot}}, + editortrfo = {{edit\"{o}r, \c{c}eviren ve \"{o}ns\"{o}z}% + {ed\adddot, \c{c}ev\adddot\ ve \"{o}ns\adddot}}, + editorstrfo = {{edit\"{o}rler, \c{c}evirenler ve \"{o}ns\"{o}z}% + {ed\adddot, \c{c}ev\adddot\ ve \"{o}ns\adddot}}, + editortraf = {{edit\"{o}r, \c{c}eviren ve sons\"{o}z}% + {ed\adddot, \c{c}ev\adddot\ ve sons\adddot}}, + editorstraf = {{edit\"{o}rler, \c{c}evirenler ve sons\"{o}z}% + {ed\adddot, \c{c}ev\adddot\ ve sons\adddot}}, + editorcoin = {{edit\"{o}r, yorumlayan ve giri\c{s}}% + {ed\adddot, yrm\adddot\ ve gir\adddot}}, + editorscoin = {{edit\"{o}rler, yorumlayanlar ve giri\c{s}}% + {ed\adddot, yrm\adddot\ ve gir\adddot}}, + editorcofo = {{edit\"{o}r, yorumlayan ve \"{o}ns\"{o}z}% + {ed\adddot, yrm\adddot\ ve \"{o}ns\adddot}}, + editorscofo = {{edit\"{o}rler, yorumlayanlar ve \"{o}ns\"{o}z}% + {ed\adddot, yrm\adddot\ ve \"{o}ns\adddot}}, + editorcoaf = {{edit\"{o}r, yorumlayan ve sons\"{o}z}% + {ed\adddot, yrm\adddot\ ve sons\adddot}}, + editorscoaf = {{edit\"{o}rler, yorumlayanlar ve sons\"{o}z}% + {ed\adddot, yrm\adddot\ ve sons\adddot}}, + editoranin = {{edit\"{o}r, a\c{c}\i klayan ve giri\c{s}}% + {ed\adddot, a\c{c}\i k\adddot\ ve gir\adddot}}, + editorsanin = {{edit\"{o}rler, a\c{c}\i klayanlar ve giri\c{s}}% + {ed\adddot, a\c{c}\i k\adddot\ ve gir\adddot}}, + editoranfo = {{edit\"{o}r, a\c{c}\i klayan ve \"{o}ns\"{o}z}% + {ed\adddot, a\c{c}\i k\adddot\ ve \"{o}ns\adddot}}, + editorsanfo = {{edit\"{o}rler, a\c{c}\i klayanlar ve \"{o}ns\"{o}z}% + {ed\adddot, a\c{c}\i k\adddot\ ve \"{o}ns\adddot}}, + editoranaf = {{edit\"{o}r, a\c{c}\i klayan ve sons\"{o}z}% + {ed\adddot, a\c{c}\i k\adddot\ ve sons\adddot}}, + editorsanaf = {{edit\"{o}rler, a\c{c}\i klayanlar ve sons\"{o}z}% + {ed\adddot, a\c{c}\i k\adddot\ ve sons\adddot}}, + editortrcoin = {{edit\"{o}r, \c{c}eviren, yorumlayan ve giri\c{s}}% + {ed\adddot, \c{c}ev\adddot, yrm\adddot\ ve gir\adddot}}, + editorstrcoin = {{edit\"{o}rler, \c{c}evirenler, yorumlayanlar ve giri\c{s}}% + {ed\adddot, \c{c}ev\adddot, yrm\adddot\ ve gir\adddot}}, + editortrcofo = {{edit\"{o}r, \c{c}eviren, yorumlayan ve \"{o}ns\"{o}z}% + {ed\adddot, \c{c}ev\adddot, yrm\adddot\ ve \"{o}ns\adddot}}, + editorstrcofo = {{edit\"{o}rler, \c{c}evirenler, yorumlayanlar ve \"{o}ns\"{o}z}% + {ed\adddot, \c{c}ev\adddot, yrm\adddot\ ve \"{o}ns\adddot}}, + editortrcoaf = {{edit\"{o}r, \c{c}eviren, yorumlayan ve sons\"{o}z}% + {ed\adddot, \c{c}ev\adddot, yrm\adddot\ ve sons\adddot}}, + editorstrcoaf = {{edit\"{o}rler, \c{c}evirenler, yorumlayanlar ve sons\"{o}z}% + {ed\adddot, \c{c}ev\adddot, yrm\adddot\ ve sons\adddot}}, + editortranin = {{edit\"{o}r, \c{c}eviren, a\c{c}\i klayan ve giri\c{s}}% + {ed\adddot, \c{c}ev\adddot, a\c{c}\i k\adddot\ ve gir\adddot}}, + editorstranin = {{edit\"{o}rler, \c{c}evirenler, a\c{c}\i klayanlar ve giri\c{s}}% + {ed\adddot, \c{c}ev\adddot, a\c{c}\i k\adddot\ ve gir\adddot}}, + editortranfo = {{edit\"{o}r, \c{c}eviren, a\c{c}\i klayan ve \"{o}ns\"{o}z}% + {ed\adddot, \c{c}ev\adddot, a\c{c}\i k\adddot\ ve \"{o}ns\adddot}}, + editorstranfo = {{edit\"{o}rler, \c{c}evirenler, a\c{c}\i klayanlar ve \"{o}ns\"{o}z}% + {ed\adddot, \c{c}ev\adddot, a\c{c}\i k\adddot\ ve \"{o}ns\adddot}}, + editortranaf = {{edit\"{o}r, \c{c}eviren, a\c{c}\i klayan ve sons\"{o}z}% + {ed\adddot, \c{c}ev\adddot, a\c{c}\i k\adddot\ ve sons\adddot}}, + editorstranaf = {{edit\"{o}rler, \c{c}evirenler, a\c{c}\i klayanlar ve sons\"{o}z}% + {ed\adddot, \c{c}ev\adddot, a\c{c}\i k\adddot\ ve sons\adddot}}, + translatorco = {{\c{c}eviren ve yorumlayan}% + {\c{c}ev\adddot\ ve yrm\adddot}}, + translatorsco = {{\c{c}evirenler ve yorumlayanlar}% + {\c{c}ev\adddot\ ve yrm\adddot}}, + translatoran = {{\c{c}eviren ve a\c{c}\i klayan}% + {\c{c}ev\adddot\ ve a\c{c}\i k\adddot}}, + translatorsan = {{\c{c}evirenler ve a\c{c}\i klayanlar}% + {\c{c}ev\adddot\ ve a\c{c}\i k\adddot}}, + translatorin = {{\c{c}eviren ve giri\c{s}}% + {\c{c}ev\adddot\ ve gir\adddot}}, + translatorsin = {{\c{c}evirenler ve giri\c{s}}% + {\c{c}ev\adddot\ ve gir\adddot}}, + translatorfo = {{\c{c}eviren ve \"{o}ns\"{o}z}% + {\c{c}ev\adddot\ ve \"{o}ns\adddot}}, + translatorsfo = {{\c{c}evirenler ve \"{o}ns\"{o}z}% + {\c{c}ev\adddot\ ve \"{o}ns\adddot}}, + translatoraf = {{\c{c}eviren ve sons\"{o}z}% + {\c{c}ev\adddot\ ve sons\adddot}}, + translatorsaf = {{\c{c}evirenler ve sons\"{o}z}% + {\c{c}ev\adddot\ ve sons\adddot}}, + translatorcoin = {{\c{c}eviren, yorumlayan ve giri\c{s}}% + {\c{c}ev\adddot, yrm\adddot\ ve gir\adddot}}, + translatorscoin = {{\c{c}evirenler, yorumlayanlar ve giri\c{s}}% + {\c{c}ev\adddot, yrm\adddot\ ve gir\adddot}}, + translatorcofo = {{\c{c}eviren, yorumlayan ve \"{o}ns\"{o}z}% + {\c{c}ev\adddot, yrm\adddot\ ve \"{o}ns\adddot}}, + translatorscofo = {{\c{c}evirenler, yorumlayanlar ve \"{o}ns\"{o}z}% + {\c{c}ev\adddot, yrm\adddot\ ve \"{o}ns\adddot}}, + translatorcoaf = {{\c{c}eviren, yorumlayan ve sons\"{o}z}% + {\c{c}ev\adddot, yrm\adddot\ ve sons\adddot}}, + translatorscoaf = {{\c{c}evirenler, yorumlayanlar ve sons\"{o}z}% + {\c{c}ev\adddot, yrm\adddot\ ve sons\adddot}}, + translatoranin = {{\c{c}eviren, a\c{c}\i klayan ve giri\c{s}}% + {\c{c}ev\adddot, a\c{c}\i k\adddot\ ve gir\adddot}}, + translatorsanin = {{\c{c}evirenler, a\c{c}\i klayanlar ve giri\c{s}}% + {\c{c}ev\adddot, a\c{c}\i k\adddot\ ve gir\adddot}}, + translatoranfo = {{\c{c}eviren, a\c{c}\i klayan ve \"{o}ns\"{o}z}% + {\c{c}ev\adddot, a\c{c}\i k\adddot\ ve \"{o}ns\adddot}}, + translatorsanfo = {{\c{c}evirenler, a\c{c}\i klayanlar ve \"{o}ns\"{o}z}% + {\c{c}ev\adddot, a\c{c}\i k\adddot\ ve \"{o}ns\adddot}}, + translatoranaf = {{\c{c}eviren, a\c{c}\i klayan ve sons\"{o}z}% + {\c{c}ev\adddot, a\c{c}\i k\adddot\ ve sons\adddot}}, + translatorsanaf = {{\c{c}evirenler, a\c{c}\i klayanlar ve sons\"{o}z}% + {\c{c}ev\adddot, a\c{c}\i k\adddot\ ve sons\adddot}}, + organizer = {{organizat\"{o}r}{org\adddot}}, + organizers = {{organizat\"{o}rler}{org\adddot}}, + byorganizer = {{organizat\"{o}r}{org\adddot}}, + byauthor = {{yazar}{yazar}}, + byeditor = {{edit\"{o}r}{ed\adddot}}, + bycompiler = {{derleyen}{der\adddot}}, + byredactor = {{yay\i na haz\i rlayan}{yay\adddot\ haz\adddot}}, + byreviser = {{tashih}{tashih}}, + byreviewer = {{de\u{g}erlendiren}{de\u{g}\adddot}}, + byfounder = {{kurucu}{kur\adddot}}, + bycontinuator = {{tamamlayan}{tam\adddot}}, + bycollaborator = {{ortakla\c{s}a yapanlar}{ortak\adddot\ yap\adddot}}, + bytranslator = {{\lbx@lfromlang \c{c}eviren}{\lbx@sfromlang \c{c}ev\adddot}}, + bycommentator = {{yorumlayan}{yrm\adddot}}, + byannotator = {{a\c{c}\i klayan}{a\c{c}\i k\adddot}}, + withcommentator = {{yorumlar\i yla katk\i da bulunan}{yrm\adddot\ kat\adddot\ bul\adddot}}, + withannotator = {{a\c{c}\i klamalar\i yla katk\i da bulunan}{a\c{c}\i k\adddot\ kat\adddot\ bul\adddot}}, + withintroduction = {{giri\c{si yazan}}{gir\adddot\ yaz\adddot}}, + withforeword = {{\"{o}ns\"{o}z\"{u} yazan}{\"{o}ns\adddot\ yaz\adddot}},% + withafterword = {{sons\"{o}z\"{u} yazan}{sons\adddot\ yaz\adddot}}, + byeditortr = {{edit\"{o}r ve \lbx@lfromlang \c{c}eviren}% + {ed\adddot\ ve \lbx@sfromlang \c{c}ev\adddot}}, + byeditorco = {{edit\"{o}r ve yorumlayan}% + {ed\adddot\ ve yrm\adddot}}, + byeditoran = {{edit\"{o}r ve a\c{c}\i klayan}% + {ed\adddot\ ve a\c{c}\i k\adddot}}, + byeditorin = {{edit\"{o}r ve giri\c{s}}% + {ed\adddot\ ve gir\adddot}}, + byeditorfo = {{edit\"{o}r ve \"{o}ns\"{o}z}% + {ed\adddot\ ve \"{o}ns\adddot}}, + byeditoraf = {{edit\"{o}r ve sons\"{o}z}% + {ed\adddot\ ve sons\adddot}}, + byeditortrco = {{edit\"{o}r, \lbx@lfromlang \c{c}eviren ve yorumlayan}% + {ed\adddot, \lbx@sfromlang \c{c}ev\adddot\ ve yrm\adddot}}, + byeditortran = {{edit\"{o}r, \lbx@lfromlang \c{c}eviren ve a\c{c}\i klayan}% + {ed\adddot, \lbx@sfromlang \c{c}ev\adddot\ ve a\c{c}\i k\adddot}}, + byeditortrin = {{edit\"{o}r, \lbx@lfromlang \c{c}eviren ve giri\c{s}}% + {ed\adddot, \lbx@sfromlang \c{c}ev\adddot\ ve gir\adddot}}, + byeditortrfo = {{edit\"{o}r, \lbx@lfromlang \c{c}eviren ve \"{o}ns\"{o}z}% + {ed\adddot, \lbx@sfromlang \c{c}ev\adddot\ ve \"{o}ns\adddot}}, + byeditortraf = {{edit\"{o}r, \lbx@lfromlang \c{c}eviren ve sons\"{o}z}% + {ed\adddot, \lbx@sfromlang \c{c}ev\adddot\ ve sons\adddot}}, + byeditorcoin = {{edit\"{o}r, yorumlayan ve giri\c{s}}% + {ed\adddot, yrm\adddot\ ve gir\adddot}}, + byeditorcofo = {{edit\"{o}r, yorumlayan ve \"{o}ns\"{o}z}% + {ed\adddot, yrm\adddot\ ve \"{o}ns\adddot}}, + byeditorcoaf = {{edit\"{o}r, yorumlayan ve sons\"{o}z}% + {ed\adddot, yrm\adddot\ ve sons\adddot}}, + byeditoranin = {{edit\"{o}r, a\c{c}\i klayan ve giri\c{s}}% + {ed\adddot, a\c{c}\i k\adddot\ ve gir\adddot}}, + byeditoranfo = {{edit\"{o}r, a\c{c}\i klayan ve \"{o}ns\"{o}z}% + {ed\adddot, a\c{c}\i k\adddot\ ve \"{o}ns\adddot}}, + byeditoranaf = {{edit\"{o}r, a\c{c}\i klayan ve sons\"{o}z}% + {ed\adddot, a\c{c}\i k\adddot\ ve sons\adddot}}, + byeditortrcoin = {{edit\"{o}r, \lbx@lfromlang \c{c}eviren, yorumlayan ve giri\c{s}}% + {ed\adddot, \lbx@sfromlang \c{c}ev\adddot, yrm\adddot\ ve gir\adddot}}, + byeditortrcofo = {{edit\"{o}r, \lbx@lfromlang \c{c}eviren, yorumlayan ve \"{o}ns\"{o}z}% + {ed\adddot, \lbx@sfromlang \c{c}ev\adddot, yrm\adddot\ ve \"{o}ns\adddot}}, + byeditortrcoaf = {{edit\"{o}r, \lbx@lfromlang \c{c}eviren, yorumlayan ve sons\"{o}z}% + {ed\adddot, \lbx@sfromlang \c{c}ev\adddot, yrm\adddot\ ve sons\adddot}}, + byeditortranin = {{edit\"{o}r, \lbx@lfromlang \c{c}eviren, a\c{c}\i klayan ve giri\c{s}}% + {ed\adddot, \lbx@sfromlang \c{c}ev\adddot, a\c{c}\i k\adddot\ ve gir\adddot}}, + byeditortranfo = {{edit\"{o}r, \lbx@lfromlang \c{c}eviren, a\c{c}\i klayan ve \"{o}ns\"{o}z}% + {ed\adddot, \lbx@sfromlang \c{c}ev\adddot, a\c{c}\i k\adddot\ ve \"{o}ns\adddot}}, + byeditortranaf = {{edit\"{o}r, \lbx@lfromlang \c{c}eviren, a\c{c}\i klayan ve sons\"{o}z}% + {ed\adddot, \lbx@sfromlang \c{c}ev\adddot, a\c{c}\i k\adddot\ ve sons\adddot}}, + bytranslatorco = {{\lbx@lfromlang \c{c}eviren ve yorumlayan}% + {\lbx@sfromlang \c{c}ev\adddot\ ve yrm\adddot}}, + bytranslatoran = {{\lbx@lfromlang \c{c}eviren ve a\c{c}\i klayan}% + {\lbx@sfromlang \c{c}ev\adddot\ ve a\c{c}\i k\adddot}}, + bytranslatorin = {{\lbx@lfromlang \c{c}eviren ve giri\c{s}}% + {\lbx@sfromlang \c{c}ev\adddot\ ve gir\adddot}}, + bytranslatorfo = {{\lbx@lfromlang \c{c}eviren ve \"{o}ns\"{o}z}% + {\lbx@sfromlang \c{c}ev\adddot\ ve \"{o}ns\adddot}}, + bytranslatoraf = {{\lbx@lfromlang \c{c}eviren ve sons\"{o}z}% + {\lbx@sfromlang \c{c}ev\adddot\ ve sons\adddot}}, + bytranslatorcoin = {{\lbx@lfromlang \c{c}eviren, yorumlayan ve giri\c{s}}% + {\lbx@sfromlang \c{c}ev\adddot, yrm\adddot\ ve gir\adddot}}, + bytranslatorcofo = {{\lbx@lfromlang \c{c}eviren, yorumlayan ve \"{o}ns\"{o}z}% + {\lbx@sfromlang \c{c}ev\adddot, yrm\adddot\ ve \"{o}ns\adddot}}, + bytranslatorcoaf = {{\lbx@lfromlang \c{c}eviren, yorumlayan ve sons\"{o}z}% + {\lbx@sfromlang \c{c}ev\adddot, yrm\adddot\ ve sons\adddot}}, + bytranslatoranin = {{\lbx@lfromlang \c{c}eviren, a\c{c}\i klayan ve giri\c{s}}% + {\lbx@sfromlang \c{c}ev\adddot, a\c{c}\i k\adddot\ ve gir\adddot}}, + bytranslatoranfo = {{\lbx@lfromlang \c{c}eviren, a\c{c}\i klayan ve \"{o}ns\"{o}z}% + {\lbx@sfromlang \c{c}ev\adddot, a\c{c}\i k\adddot\ ve \"{o}ns\adddot}}, + bytranslatoranaf = {{\lbx@lfromlang \c{c}eviren, a\c{c}\i klayan ve sons\"{o}z}% + {\lbx@sfromlang \c{c}ev\adddot, a\c{c}\i k\adddot\ ve sons\adddot}}, + and = {{ve}{ve}}, + andothers = {{ve di\u{g}erleri}{ve di\u{g}\adddot}}, + andmore = {{ve di\u{g}erleri}{ve di\u{g}\adddot}}, + volume = {{cilt}{c\adddot}}, + volumes = {{cilt}{c\adddot}}, + involumes = {{i\c{c}inde}{i\c{c}inde}}, + jourvol = {{cilt}{c\adddot}}, + jourser = {{seri}{seri}}, + book = {{kitap}{kitap}}, + part = {{k\i s\i m}{k\i s\i m}}, + issue = {{say\i}{say\i}}, + newseries = {{yeni seri}{yeni seri}}, + oldseries = {{eski seri}{eski seri}}, + edition = {{bask\i}{bs\adddot}}, + reprint = {{yeni bask\i s\i}{yeni bask\i s\i}}, + reprintof = {{yeni bask\i s\i}{yeni bask\i s\i}}, + reprintas = {{yeni bask\i s\i}{yeni bask\i s\i}}, + reprintfrom = {{yeni bask\i s\i}{yeni bask\i s\i}}, + reviewof = {{derlenen eser}{der\adddot\ eser}}, + translationof = {{\c{c}evirilen eser}{\c{c}ev\adddot\ eser}}, + translationas = {{\c{c}evirilen eser}{\c{c}ev\adddot\ eser}}, + translationfrom = {{\c{c}evirilen eser}{\c{c}ev\adddot\ eser}}, + origpubas = {{as\i l eser}{as\i l eser}}, + origpubin = {{as\i l eser yay\i n tarihi}{as\i l eser yay\i n tarihi}}, + astitle = {{yeni ba\c{s}l\i k}{yeni ba\c{s}l\i k}}, + bypublisher = {{yay\i n evi}{yay\i n evi}}, + nodate = {{tarih yok}{t\adddot y\adddot}}, + page = {{sayfa}{s\adddot}}, + pages = {{sayfalar}{ss\adddot}}, + column = {{s\"{u}tun}{s\"{u}t\adddot}}, + columns = {{s\"{u}tunlar}{s\"{u}t\adddot}}, + line = {{sat\i r}{sat\adddot}}, + lines = {{sat\i rlar}{sat\adddot}}, + verse = {{m\i sra}{m\i s\adddot}}, + verses = {{m\i sralar}{m\i s\adddot}}, + section = {{b\"{o}l\"{u}m}{b\"{o}l\adddot}}, + sections = {{b\"{o}l\"{u}mler}{b\"{o}l\adddot}}, + paragraph = {{paragraf}{par\adddot}}, + paragraphs = {{paragraflar}{par\adddot}}, + pagetotal = {{toplam sayfa}{s\adddot}}, + pagetotals = {{toplam sayfalar}{ss\adddot}}, + columntotal = {{toplam s\"{u}tun}{s\"{u}t\adddot}}, + columntotals = {{toplam s\"{u}tunlar}{s\"{u}t\adddot}}, + linetotal = {{toplam sat\i r}{sat\adddot}}, + linetotals = {{toplam sat\i rlar}{sat\adddot}}, + versetotal = {{toplam m\i sra}{m\i s\adddot}}, + versetotals = {{toplam m\i sralar}{m\i s\adddot}}, + sectiontotal = {{toplam b\"{o}l\"{u}m}{b\"{o}l\adddot}}, + sectiontotals = {{toplam b\"{o}l\"{u}mler}{b\"{o}l\adddot}}, + paragraphtotal = {{toplam paragraf}{par\adddot}}, + paragraphtotals = {{toplam paragraflar}{par\adddot}}, + in = {{i\c{c}inde}{i\c{c}inde}}, + inseries = {{serilerde}{serilerde}}, + ofseries = {{serilerde}{serilerde}}, + number = {{numara}{no\adddot}}, + chapter = {{b\"{o}l\"{u}m}{b\"{o}l\adddot}}, + bathesis = {{lisans tezi}{lis\adddot\ tezi}}, + mathesis = {{y\"{u}ksek lisans tezi}{y\"{u}k\adddot\ lis\adddot\ tezi}}, + phdthesis = {{doktora tezi}{dok\adddot\ tezi}}, + candthesis = {{aday tezi}{aday tezi}}, + resreport = {{ara\c{s}t\i rma raporu}{ara\c{s}\adddot\ rap\adddot}}, + techreport = {{teknik rapor}{tek\adddot\ rap\adddot}}, + software = {{bilgisayar yaz\i l\i m\i}{bilg\adddot\ yaz\adddot}}, + datacd = {{CD}{CD}}, + audiocd = {{ses CD'si}{ses CD'si}}, + version = {{versiyon}{ver\adddot}}, + url = {{eri\c{s}im adresi}{eri\c{s}im adresi}}, + urlfrom = {{eri\c{s}im adresi}{eri\c{s}im adresi}}, + urlseen = {{eri\c{s}im tarihi}{eri\c{s}im tarihi}}, + inpreparation = {{haz\i rl\i k a\c{s}amas\i nda}{haz\i rl\i k a\c{s}amas\i nda}}, + submitted = {{g\"{o}nderilmi\c{s}tir}{g\"{o}nderilmi\c{s}tir}}, + forthcoming = {{yak\i nda}{yak\i nda}}, + inpress = {{bas\i m a\c{s}amas\i nda}{bas\i m a\c{s}amas\i nda}}, + prepublished = {{taslak bas\i m\i}{taslak bas\i m\i}}, + citedas = {{at\i f olarak}{at\i f olarak}}, + thiscite = {{\"{o}zellikle}{\"{o}z\adddot\ bkz\adddot}}, + seenote = {{nota bak\i n\i z}{nota bkz\adddot}}, + quotedin = {{al\i nt\i}{al\i nt\i}}, + idem = {{ayn\i}{ayn\i}}, + idemsm = {{ayn\i}{ayn\i}}, + idemsf = {{ayn\i}{ayn\i}}, + idemsn = {{ayn\i}{ayn\i}}, + idempm = {{ayn\i lar\i}{ayn\i lar\i}}, + idempf = {{ayn\i lar\i}{ayn\i lar\i}}, + idempn = {{ayn\i lar\i}{ayn\i lar\i}}, + idempp = {{ayn\i lar\i}{ayn\i lar\i}}, + ibidem = {{ayn{\i} yer}{ayn{\i} yer}}, + opcit = {{at\i f yap\i lan \c{c}al\i\c{s}ma}{at\i f yap\adddot\ \c{c}al\adddot}}, + loccit = {{at\i f yap\i lan yer}{at\i f yap\adddot\ yer}}, + confer = {{kar\c{s}\i la\c{s}t\i r}{kar\c{s}\adddot}}, + sequens = {{takip eden}{takip eden}}, + sequentes = {{takip eden}{takip eden}}, + passim = {{rastgele}{rastgele}}, + see = {{bak\i n\i z}{bkz\adddot}}, + seealso = {{ayr\i ca bak\i n\i z}{ayr\i ca bkz\adddot}}, + backrefpage = {{sayfada g\"{o}sterilmi\c{s}tir}{say\adddot\ g\"{o}s\adddot}}, + backrefpages = {{sayfalarda g\"{o}sterilmi\c{s}tir}{say\adddot\ g\"{o}s\adddot}}, + january = {{Ocak}{Ocak}}, + february = {{\c{S}ubat}{\c{S}ub\adddot}}, + march = {{Mart}{Mar\adddot}}, + april = {{Nisan}{Nis\adddot}}, + may = {{May\i s}{May\adddot}}, + june = {{Haziran}{Haz\adddot}}, + july = {{Temmuz}{Tem\adddot}}, + august = {{A\u{g}ustos}{A\u{g}us\adddot}}, + september = {{Eyl\"{u}l}{Eyl\adddot}}, + october = {{Ekim}{Ekim}}, + november = {{Kas\i m}{Kas\adddot}}, + december = {{Aral\i k}{Ara\adddot}}, + langamerican = {{Amerikanca}{Amerikanca}}, + langbrazilian = {{Brezilyanca}{Brezilyanca}}, + langbulgarian = {{Bulgarca}{Bulgarca}}, + langcatalan = {{Katalanca}{Katalanca}}, + langcroatian = {{H\i rvat\c{c}a}{H\i rvat\c{c}a}}, + langczech = {{\c{C}ek\c{c}e}{\c{C}ek\c{c}e}}, + langdanish = {{Danimarkanca}{Danimarkanca}}, + langdutch = {{Flemenk\c{c}e}{Flemenk\c{c}e}}, + langenglish = {{\.{I}ngilizce}{\.{I}ngilizce}}, + langestonian = {{Estonca}{Estonca}}, + langfinnish = {{Fince}{Fince}}, + langfrench = {{Frans\i zca}{Frans\i zca}}, + langgalician = {{Galce}{Galce}}, + langgerman = {{Almanca}{Almanca}}, + langgreek = {{Yunanca}{Yunanca}}, + langhungarian = {{Macarca}{Macarca}}, + langitalian = {{\.{I}talyanca}{\.{I}talyanca}}, + langjapanese = {{Japonca}{Japonca}}, + langlatin = {{Latince}{Latince}}, + langlatvian = {{Letonca}{Letonca}}, + langlithuanian = {{Litvanca}{Litvanca}}, + langnorwegian = {{Norve\c{c}\c{c}e}{Norve\c{c}\c{c}e}}, + langpolish = {{Polonyaca}{Polonyaca}}, + langportuguese = {{Portekizce}{Portekizce}}, + langrussian = {{Rus\c{c}a}{Rus\c{c}a}}, + langserbian = {{S\i rp\c{c}a}{S\i rp\c{c}a}}, + langslovak = {{Slovak\c{c}a}{Slovak\c{c}a}}, + langslovene = {{Slovence}{Slovence}}, + langspanish = {{\.{I}spanyolca}{\.{I}spanyolca}}, + langswedish = {{\.{I}sve\c{c}\c{c}e}{\.{I}sve\c{c}\c{c}e}}, + langukrainian = {{Ukraynaca}{Ukraynaca}}, + fromamerican = {{Amerikanca'dan}{Amerikanca'dan}}, + frombrazilian = {{Brezilyanca'dan}{Brezilyanca'dan}}, + frombulgarian = {{Bulgarca'dan}{Bulgarca'dan}}, + fromcatalan = {{Katalanca'dan}{Katalanca'dan}}, + fromcroatian = {{H\i rvat\c{c}a'dan}{H\i rvat\c{c}a'dan}}, + fromczech = {{\c{C}ek\c{c}e'den}{\c{C}ek\c{c}e'den}}, + fromdanish = {{Danimarkanca'dan}{Danimarkanca'dan}}, + fromdutch = {{Flemenk\c{c}e'den}{Flemenk\c{c}e'den}}, + fromenglish = {{\.{I}ngilizce'den}{\.{I}ngilizce'den}}, + fromestonian = {{Estonyaca'dan}{Estonyaca'dan}}, + fromfinnish = {{Fince'den}{Fince'den}}, + fromfrench = {{Frans\i zca'dan}{Frans\i zca'dan}}, + fromgalician = {{Galyaca'dan}{Galyaca'dan}}, + fromgerman = {{Almanca'dan}{Almanca'dan}}, + fromgreek = {{Yunanca'dan}{Yunanca'dan}}, + fromhungarian = {{Macarca'dan}{Macarca'dan}}, + fromitalian = {{\.{I}talyanca'dan}{\.{I}talyanca'dan}}, + fromjapanese = {{Japonca'dan}{Japonca'dan}}, + fromlatin = {{Latince'den}{Latince'den}}, + fromlatvian = {{Latvianca'dan}{Latvianca'dan}}, + fromlithuanian = {{Litvanca'dan}{Litvanca'dan}}, + fromnorwegian = {{Norve\c{c}\c{c}e'den}{Norve\c{c}\c{c}e'den}}, + frompolish = {{Polonyaca'dan}{Polonyaca'dan}}, + fromportuguese = {{Portekizce'den}{Portekizce'den}}, + fromrussian = {{Rus\c{c}a'dan}{Rus\c{c}a'dan}}, + fromserbian = {{S\i rp\c{c}a'dan}{S\i rp\c{c}a'dan}}, + fromslovak = {{Slovak\c{c}a'dan}{Slovak\c{c}a'dan}}, + fromslovene = {{Slovence'den}{Slovence'den}}, + fromspanish = {{\.{I}spanyolca'dan}{\.{I}spanyolca'dan}}, + fromswedish = {{\.{I}sve\c{c}\c{c}e'den}{\.{I}sve\c{c}\c{c}e'den}}, + fromukrainian = {{Ukraynaca'dan}{Ukraynaca'dan}}, + countryde = {{Almanya}{DE}}, + countryeu = {{Avrupa Birli\u{g}i}{AB}}, + countryep = {{Avrupa Birli\u{g}i}{AB}}, + countryfr = {{Fransa}{FR}}, + countryuk = {{Birle\c{s}ik Krall\i k}{BK}}, + countryus = {{Amerika Birle\c{s}ik Devletleri}{ABD}}, + patent = {{patent}{pat\adddot}}, + patentde = {{Alman patenti}{Alman pat\adddot}}, + patenteu = {{Avrupa patenti}{Avrupa pat\adddot}}, + patentfr = {{Frans\i z patenti}{Frans\i z pat\adddot}}, + patentuk = {{\.{I}ngiliz patenti}{\.{I}ngiliz pat\adddot}}, + patentus = {{Amerika patenti}{Amerika pat\adddot}}, + patreq = {{patent beklemede}{pat\adddot\ bek\adddot}}, + patreqde = {{Alman patenti beklemede}{Alman pat\adddot\ bek\adddot}}, + patreqeu = {{Avrupa patenti beklemede}{Avrupa pat\adddot\ bek\adddot}}, + patreqfr = {{Frans\i z patenti beklemede}{Frans\i z pat\adddot\ bek\adddot}}, + patrequk = {{\.{I}ngiliz patenti beklemede}{\.{I}ngiliz pat\adddot\ bek\adddot}}, + patrequs = {{Amerika patenti beklemede}{Amerika pat\adddot\ bek\adddot}}, + file = {{dosya}{dosya}}, + library = {{k\"{u}t\"{u}phane}{k\"{u}t\"{u}phane}}, + abstract = {{\"{o}zet}{\"{o}zet}}, + annotation = {{a\c{c}\i klama}{a\c{c}\i klama}}, + commonera = {{milattan sonra}{MS}}, + beforecommonera = {{milattan \"{o}nce}{M\"{O}}}, + annodomini = {{milattan sonra}{MS}}, + beforechrist = {{milattan \"{o}nce}{M\"{O}}}, + circa = {{yakla\c{s}\i k olarak}{yak\adddot}}, + spring = {{\.{I}lkbahar}{\.{I}lkbahar}}, + summer = {{Yaz}{Yaz}}, + autumn = {{Sonbahar}{Sonbahar}}, + winter = {{K\i \c{s}}{K\i \c{s}}}, + am = {{\"{o}\u{g}leden \"{o}nce}{\"{O}\"{O}}}, + pm = {{\"{o}\u{g}leden sonra}{\"{O}S}}, +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/ukrainian.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/ukrainian.lbx index b5be8984c5c..19b2a2e1892 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/ukrainian.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/ukrainian.lbx @@ -70,13 +70,17 @@ \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{#1} + {} + {\mktimezeros{\thefield{#1}}% + \iffieldundef{#2}{}{\bibtimesep}}% + \iffieldundef{#2} + {} + {\mktimezeros{\thefield{#2}}% + \iffieldundef{#3}{}{\bibtimesep}}% + \iffieldundef{#3} + {} + {\mktimezeros{\thefield{#3}}}% \iffieldundef{#4}{} {\bibtimezonesep \mkbibtimezone{\thefield{#4}}}}% |