summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex-iso690
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-iso690')
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-iso690/bulgarian-iso.lbx30
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-iso690/czech-iso.lbx14
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-iso690/english-iso.lbx14
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-iso690/french-iso.lbx35
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-iso690/german-iso.lbx14
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-iso690/iso-alphabetic.bbx6
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-iso690/iso-alphabetic.cbx2
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-iso690/iso-alphabetic.dbx12
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-iso690/iso-authortitle.bbx5
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-iso690/iso-authortitle.cbx7
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-iso690/iso-authortitle.dbx14
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-iso690/iso-authoryear.bbx94
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-iso690/iso-authoryear.cbx15
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-iso690/iso-authoryear.dbx14
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-iso690/iso-fullcite.cbx23
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-iso690/iso-numeric.bbx32
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-iso690/iso-numeric.cbx11
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-iso690/iso-numeric.dbx14
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-iso690/iso.bbx942
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-iso690/polish-iso.lbx14
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-iso690/slovak-iso.lbx18
21 files changed, 1063 insertions, 267 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-iso690/bulgarian-iso.lbx b/Master/texmf-dist/tex/latex/biblatex-iso690/bulgarian-iso.lbx
new file mode 100644
index 00000000000..858f936995f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-iso690/bulgarian-iso.lbx
@@ -0,0 +1,30 @@
+\ProvidesFile{bulgarian-iso.lbx}
+ [2020/03/25 v0.4.0 ISO 690 extended biblatex localization]
+
+\InheritBibliographyExtras{bulgarian}
+\InheritBibliographyStrings{bulgarian}
+
+\DeclareBibliographyStrings{%
+ at = {{в}%
+ {в}},
+ bysupervisor = {{ръководен от}%
+ {ръков\adddotspace от}},
+ url = {{достъпен на}%
+ {дост\adddotspace на}},
+ urlalso = {{също достъпен на}%
+ {също дост\adddotspace на}},
+ director = {{режисьор}%
+ {реж\adddot}},
+ bydirector = {{режисиран от}%
+ {реж\adddotspace от}},
+ inventor = {{изобретател}%
+ {изобр\adddot}},
+ byinventor = {{изобретен от}%
+ {изобр\adddotspace от}},
+ online = {{онлайн}%
+ {онлайн}},
+ film = {{филм}%
+ {филм}},
+}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex-iso690/czech-iso.lbx b/Master/texmf-dist/tex/latex/biblatex-iso690/czech-iso.lbx
index 84546aa71d1..ff7967e00fa 100644
--- a/Master/texmf-dist/tex/latex/biblatex-iso690/czech-iso.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex-iso690/czech-iso.lbx
@@ -1,5 +1,5 @@
\ProvidesFile{czech-iso.lbx}
-[2017/04/25 v0.3.2 biblatex localization]
+ [2020/03/25 v0.4.0 ISO 690 extended biblatex localization]
\InheritBibliographyExtras{czech}
\InheritBibliographyStrings{czech}
@@ -13,6 +13,18 @@
{dostupn\'{e} z}},
urlalso = {{dostupn\'{e} tak\'{e} z}%
{dostupn\'{e} tak\'{e} z}},
+ director = {{re\v{z}is\'{e}r}%
+ {re\v{z}is\'{e}r}},
+ bydirector = {{re\v{z}ie}%
+ {re\v{z}ie}},
+ inventor = {{vyn\'{a}lezce}%
+ {vyn\'{a}lezce}},
+ byinventor = {{vyn\'{a}lezce\addcolon}%
+ {vyn\'{a}lezce\addcolon}},% FIXME: unsure
+ online = {{online}%
+ {online}},
+ film = {{film}%
+ {film}},
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex-iso690/english-iso.lbx b/Master/texmf-dist/tex/latex/biblatex-iso690/english-iso.lbx
index e1a5e01b6b1..916128b6b8a 100644
--- a/Master/texmf-dist/tex/latex/biblatex-iso690/english-iso.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex-iso690/english-iso.lbx
@@ -1,5 +1,5 @@
\ProvidesFile{english-iso.lbx}
-[2017/04/25 v0.3.2 biblatex localization]
+ [2020/03/25 v0.4.0 ISO 690 extended biblatex localization]
\InheritBibliographyExtras{english}
\InheritBibliographyStrings{english}
@@ -11,6 +11,18 @@
{supervised by}},
urlalso = {{available also from}%
{available also from}},
+ director = {{director}%
+ {director}},
+ bydirector = {{directed by}%
+ {directed by}},
+ inventor = {{inventor}%
+ {inventor}},
+ byinventor = {{invented by}%
+ {invented by}},
+ online = {{online}%
+ {online}},
+ film = {{film}%
+ {film}},
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex-iso690/french-iso.lbx b/Master/texmf-dist/tex/latex/biblatex-iso690/french-iso.lbx
new file mode 100644
index 00000000000..e249655c719
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-iso690/french-iso.lbx
@@ -0,0 +1,35 @@
+\ProvidesFile{french-iso.lbx}
+ [2020/03/25 v0.4.0 ISO 690 extended biblatex localization]
+
+\InheritBibliographyExtras{french}
+\InheritBibliographyStrings{french}
+
+% `french.lbx` overrides the family name format to \textsc
+% that is against the consistency rule since we use uppercase
+% as default.
+\DeclareBibliographyExtras{%
+ \restorecommand\mkbibnamefamily
+}
+
+\DeclareBibliographyStrings{%
+ at = {{à}%
+ {à}},
+ bysupervisor = {{supervisé par}%
+ {supervisé par}},
+ urlalso = {{aussi disponible à l'adresse}%
+ {aussi disponible à l'adresse}},
+ director = {{réalisateur}%
+ {réalisateur}},
+ bydirector = {{réalisé par}%
+ {réalisé par}},
+ inventor = {{inventeur}%
+ {inventeur}},
+ byinventor = {{inventé par}%
+ {inventé par}},
+ online = {{en ligne}%
+ {en ligne}},
+ film = {{film}%
+ {film}},
+}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex-iso690/german-iso.lbx b/Master/texmf-dist/tex/latex/biblatex-iso690/german-iso.lbx
index 486a5d506dc..7146b27e7ca 100644
--- a/Master/texmf-dist/tex/latex/biblatex-iso690/german-iso.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex-iso690/german-iso.lbx
@@ -1,5 +1,5 @@
\ProvidesFile{german-iso.lbx}
-[2017/04/25 v0.3.2 biblatex localization]
+ [2020/03/25 v0.4.0 ISO 690 extended biblatex localization]
\InheritBibliographyExtras{german}
\InheritBibliographyStrings{german}
@@ -11,6 +11,18 @@
{betreut von}},
urlalso = {{auch verf\"{u}gbar unter}
{auch verf\"{u}gbar unter}},
+% director = {{}%
+% {}},% FIXME: missing
+% bydirector = {{}%
+% {}},% FIXME: missing
+% inventor = {{}%
+% {}},% FIXME: missing
+% byinventor = {{}%
+% {}},% FIXME: missing
+% online = {{}%
+% {}},% FIXME: missing
+% film = {{}%
+% {}},% FIXME: missing
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-alphabetic.bbx b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-alphabetic.bbx
index 8e460f2cbba..beef88d4146 100644
--- a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-alphabetic.bbx
+++ b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-alphabetic.bbx
@@ -1,5 +1,5 @@
-\ProvidesFile{alphabetic.bbx}
-[2017/04/25 v0.3.2 biblatex citation style]
+\ProvidesFile{iso-alphabetic.bbx}
+ [2020/03/25 v0.4.0 ISO 690 biblatex bibliography style]
% This is a copy of alphabetic.bbx
% It only uses iso as base style, instead of standard
@@ -18,7 +18,7 @@
{\list
{\printtext[labelalphawidth]{%
\printfield{labelprefix}%
- \printfield{labelalpha}%
+ \printfield{labelalpha}%
\printfield{extraalpha}}}
{\setlength{\labelwidth}{\labelalphawidth}%
\setlength{\leftmargin}{\labelwidth}%
diff --git a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-alphabetic.cbx b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-alphabetic.cbx
index 2a4bdcbfa0e..2d90c118d0a 100644
--- a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-alphabetic.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-alphabetic.cbx
@@ -1,5 +1,5 @@
\ProvidesFile{iso-alphabetic.cbx}
-[2017/04/25 v0.3.2 biblatex citation style]
+ [2020/03/25 v0.4.0 ISO 690 biblatex citation style]
\RequireCitationStyle{alphabetic}
diff --git a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-alphabetic.dbx b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-alphabetic.dbx
new file mode 100644
index 00000000000..2248f37e35e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-alphabetic.dbx
@@ -0,0 +1,12 @@
+\ProvidesFile{iso-alphabetic.dbx}
+ [2020/03/25 v0.4.0 ISO 690 biblatex data model extension]
+
+\RequireBiber[3]
+
+% Declare new fields
+\DeclareDatamodelFields[type=list, datatype=name]{supervisor}
+\DeclareDatamodelFields[type=field, datatype=literal]{dateaddon}
+
+% Declare new fields for (specific / all) entry types
+\DeclareDatamodelEntryfields[thesis]{supervisor}
+\DeclareDatamodelEntryfields{dateaddon}
diff --git a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authortitle.bbx b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authortitle.bbx
index e558c54fda3..ab683014ce0 100644
--- a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authortitle.bbx
+++ b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authortitle.bbx
@@ -1,8 +1,9 @@
-\ProvidesFile{iso-authortitle.bbx}[2017/04/25 v0.3.2 biblatex bibliography style]
+\ProvidesFile{iso-authortitle.bbx}
+ [2020/03/25 v0.4.0 ISO 690 biblatex bibliography style]
\RequireBibliographyStyle{iso}
\ExecuteBibliographyOptions{%
- sorting=nty
+ sorting=nty,
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authortitle.cbx b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authortitle.cbx
index f6b9e0aa8d4..8226b9bc92f 100644
--- a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authortitle.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authortitle.cbx
@@ -1,8 +1,9 @@
-\ProvidesFile{iso-authortitle.cbx}[2017/04/25 v0.3.2 biblatex citation style]
+\ProvidesFile{iso-authortitle.cbx}
+ [2020/03/25 v0.4.0 ISO 690 biblatex citation style]
\ExecuteBibliographyOptions{%
- maxcitenames=1
- ,mincitenames=1
+ maxcitenames=1,
+ mincitenames=1,
}
\RequireCitationStyle{authortitle}
diff --git a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authortitle.dbx b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authortitle.dbx
index fe51d184d24..f6d17afa406 100644
--- a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authortitle.dbx
+++ b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authortitle.dbx
@@ -1,6 +1,12 @@
-\ProvidesFile{iso-authortitle.dbx}[2017/04/25 v0.3.2 biblatex data model extension]
+\ProvidesFile{iso-authortitle.dbx}
+ [2020/03/25 v0.4.0 ISO 690 biblatex data model extension]
+
\RequireBiber[3]
-\DeclareDatamodelFields[type=list,datatype=name]{supervisor}
-\DeclareDatamodelFields[type=field,datatype=literal]{classification}
+
+% Declare new fields
+\DeclareDatamodelFields[type=list, datatype=name]{supervisor}
+\DeclareDatamodelFields[type=field, datatype=literal]{dateaddon}
+
+% Declare new fields for (specific / all) entry types
\DeclareDatamodelEntryfields[thesis]{supervisor}
-\DeclareDatamodelEntryfields[patent]{classification}
+\DeclareDatamodelEntryfields{dateaddon}
diff --git a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authoryear.bbx b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authoryear.bbx
index a7a84cb7bc2..6a8da0a12d4 100644
--- a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authoryear.bbx
+++ b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authoryear.bbx
@@ -1,41 +1,101 @@
-\ProvidesFile{iso-authoryear.bbx}[2017/04/25 v0.3.2 biblatex bibliography style]
+\ProvidesFile{iso-authoryear.bbx}
+ [2020/03/25 v0.4.0 ISO 690 biblatex bibliography style]
\RequireBibliographyStyle{iso}
\ExecuteBibliographyOptions{%
- sorting=nyt
+ sorting=nyt,
}
-\def\printextrayear{%
- \ifentrytype{patent}
- {}
- {\printfield{year}\printfield{extradate}}%
+% The separator between 'titles' and the numeration section.
+% Overrides the command in 'iso.bbx'.
+\renewcommand{\numerationpunct}{\newunitpunct}
+
+% Delimiter between creator name and year in bibliography
+\DeclareDelimFormat[bib,biblist]{nameyeardelim}{\addcomma\space}
+% Delimiter between substitution of creator name (if any)
+% and year in bibliography
+\DeclareDelimFormat[bib,biblist]{nonameyeardelim}{\addcomma\space}
+
+% a)
+% The field extradate turns from integer type to a letter
+% after year to distinguish more works of the author
+% from the same year, e.g. 1994a, 1994b.
+% We use 'labeldate' as it is also used in standard styles.
+% b)
+% Moreover we print additional date information (dateaddon).
+\newbibmacro*{date+extradate}{%
+ \printlabeldateextra
+ \setunit{\dateaddonpunct}%
+ \iffieldequalstr{labeldatesource}{dateaddon}
+ {}% Do not print dateaddon twice
+ {\printfield{dateaddon}}%
+}
+
+% Check if 'date' field holds only year or a more specific date.
+% Inspired by \ifdatehasyearonlyprecision from 'biblatex.sty',
+% but the test date==year is left out, because we use date=year
+% in package options so it turned always true.
+\newcommand{\ifdatehasyearonly}{%
+ \ifboolexpr{not test {\iffieldundef{year}}
+ and (test {\iffieldundef{month}}
+ and test {\iffieldundef{season}})}
+}
+
+% If there is no more specific date available, we shouldn't repeat
+% the year in publication info section.
+% Overrides macro 'fulldate' in 'iso.bbx'.
+\renewbibmacro*{fulldate}{%
+ \ifdatehasyearonly%
+ {}% Print nothing (only year is available)
+ {\mkdaterangeiso{}}%
}
-% remove second appearance of year in a reference
+% Remove second appearance of year in a reference
\renewbibmacro*{date}{}%
-% overwrite names:primary to print year right after
+% Overwrite names:primary to print year right after:
% 1) author
% 2) editor
% 3) label/title
-% need to handle not to print editor twice (primary
-% and subsidiary names)
+% Need to handle not to print editor twice (primary
+% and subsidiary names): editor macro includes \clearname{editor}
\renewbibmacro*{names:primary}{%
+ % First check if we have author(s) available
\ifboolexpr{
test \ifuseauthor
and
not test {\ifnameundef{author}}
}
- {\usebibmacro{author}}%
- {\usebibmacro{editor}}%
- \setunit{\addspace}\printfield{nameaddon}%
- \setunit{\addcomma\space}\printextrayear%
+ {\usebibmacro{author}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}%
+ \setunit{\printdelim{nameyeardelim}}}%
+ {% If no author(s) is available, check for editor(s)
+ \ifboolexpr{
+ test \ifuseeditor
+ and
+ not test {\ifnameundef{editor}}
+ }
+ {\usebibmacro{editor}%
+ \setunit{\printdelim{nameyeardelim}}}%
+ {% If no editor(s) is available, use label/title
+ \usebibmacro{labeltitle}%
+ \setunit{\printdelim{nonameyeardelim}}}}%
+ % And finally print date
+ \usebibmacro{date+extradate}%
}
-\InitializeBibliographyStyle{\global\undef\bbx@lasthash}
+% Print label or title in place of names if they are not available
+\newbibmacro*{labeltitle}{%
+ \iffieldundef{label}
+ {\iffieldundef{shorttitle}
+ {\usebibmacro{titles}{}{emph}%
+ \clearfield{title}%
+ \clearfield{subtitle}%
+ \clearfield{titleaddon}}
+ {\printfield[title]{shorttitle}}}
+ {\printfield{label}}}
-\newbibmacro*{bbx:savehash}{%
- \savefield{fullhash}{\bbx@lasthash}}
\newbool{bbx@inset}
\DeclareBibliographyDriver{set}{%
diff --git a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authoryear.cbx b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authoryear.cbx
index 2d58ac71d98..abdd15db203 100644
--- a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authoryear.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authoryear.cbx
@@ -1,14 +1,19 @@
-\ProvidesFile{iso-authoryear.cbx}[2017/04/25 v0.3.2 biblatex citation style]
+\ProvidesFile{iso-authoryear.cbx}
+ [2020/03/25 v0.4.0 ISO 690 biblatex citation style]
+% Use only one name in citation to be consistent
\ExecuteBibliographyOptions{%
- maxcitenames=1
- ,mincitenames=1
+ maxcitenames=1,
+ mincitenames=1,
}
\RequireCitationStyle{authoryear}
\RequireCitationStyle{iso-fullcite}
-\renewcommand*{\nameyeardelim}{\addcomma\addspace}
-\renewcommand*{\nonameyeardelim}{\addcomma\addspace}
+% Delimiter between creator name and year in citation
+\DeclareDelimFormat{nameyeardelim}{\addcomma\space}
+% Delimiter between substitution of creator name (if any)
+% and year in citation
+\DeclareDelimFormat{nonameyeardelim}{\addcomma\space}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authoryear.dbx b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authoryear.dbx
index c024de9d215..8b08856bba5 100644
--- a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authoryear.dbx
+++ b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-authoryear.dbx
@@ -1,6 +1,12 @@
-\ProvidesFile{iso-authoryear.dbx}[2017/04/25 v0.3.2 biblatex data model extension]
+\ProvidesFile{iso-authoryear.dbx}
+ [2020/03/25 v0.4.0 ISO 690 biblatex data model extension]
+
\RequireBiber[3]
-\DeclareDatamodelFields[type=list,datatype=name]{supervisor}
-\DeclareDatamodelFields[type=field,datatype=literal]{classification}
+
+% Declare new fields
+\DeclareDatamodelFields[type=list, datatype=name]{supervisor}
+\DeclareDatamodelFields[type=field, datatype=literal]{dateaddon}
+
+% Declare new fields for (specific / all) entry types
\DeclareDatamodelEntryfields[thesis]{supervisor}
-\DeclareDatamodelEntryfields[patent]{classification}
+\DeclareDatamodelEntryfields{dateaddon}
diff --git a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-fullcite.cbx b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-fullcite.cbx
index 76d3ada239f..4e3af0c95a8 100644
--- a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-fullcite.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-fullcite.cbx
@@ -1,20 +1,27 @@
+\ProvidesFile{iso-fullcite.cbx}
+ [2020/03/25 v0.4.0 ISO 690 biblatex fullcite modifications]
+
% Fix for fullcite
+
+% Based on \fullcite standard command
+% Adds only formatting directive of \mkbibnamefamily
\DeclareCiteCommand{\fullcite}
- {\usebibmacro{prenote}%
- \renewcommand*\mkbibnamelast{\lastnameformat}%
- \renewcommand*\mkbibnamefamily{\lastnameformat}}
+ {\usebibmacro{prenote}}
{\usedriver
- {\DeclareNameAlias{sortname}{default}}
+ {\DeclareNameAlias{sortname}{default}%
+ \renewcommand*{\mkbibnamefamily}{\familynameformat}}
{\thefield{entrytype}}}
{\multicitedelim}
{\usebibmacro{postnote}}
+
+% Based on \footfullcite standard command
+% Adds only formatting directive of \mkbibnamefamily
\DeclareCiteCommand{\footfullcite}[\mkbibfootnote]
- {\usebibmacro{prenote}%
- \renewcommand*\mkbibnamelast{\textsc}%
- \renewcommand*\mkbibnamefamily{\textsc}}
+ {\usebibmacro{prenote}}
{\usedriver
- {\DeclareNameAlias{sortname}{default}}
+ {\DeclareNameAlias{sortname}{default}%
+ \renewcommand*{\mkbibnamefamily}{\familynameformat}}
{\thefield{entrytype}}}
{\multicitedelim}
{\usebibmacro{postnote}}
diff --git a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-numeric.bbx b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-numeric.bbx
index ba64c58a693..c4bb9b742b7 100644
--- a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-numeric.bbx
+++ b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-numeric.bbx
@@ -1,36 +1,30 @@
-\ProvidesFile{iso-numeric.bbx}[2017/04/25 v0.3.2 biblatex bibliography style]
+\ProvidesFile{iso-numeric.bbx}
+ [2020/03/25 v0.4.0 ISO 690 biblatex bibliography style]
\RequireBibliographyStyle{iso}
\ExecuteBibliographyOptions{%
- sorting=none,
- labelnumber
+ sorting=none,% bib entries in the bibliography are in their citation order
+ labelnumber,% enable numbers for bib entries
}
+% The numbers of bib entries are printed with a dot after number
+% in the bibliography.
\DeclareFieldFormat{labelnumberwidth}{#1\adddot}
-\@ifpackagelater{biblatex}{2016/03/27}
- {\newcommand\MethodFormat{%
- \printtext[labelnumberwidth]{%
- \printfield{labelprefix}%
- \printfield{labelnumber}}}}%
- {\newcommand\MethodFormat{%
- \printtext[labelnumberwidth]{%
- \printfield{prefixnumber}%
- \printfield{labelnumber}}}}%
-
% Copy-pasted from 'numeric.bbx'
\defbibenvironment{bibliography}
- {\list%
- {\MethodFormat}%
+ {\list
+ {\printtext[labelnumberwidth]{%
+ \printfield{labelprefix}%
+ \printfield{labelnumber}}}
{\setlength{\labelwidth}{\labelnumberwidth}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\labelsep}{\biblabelsep}%
\addtolength{\leftmargin}{\labelsep}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}%
- \renewcommand*{\makelabel}[1]{\hss##1}
- }%
- {\endlist}%
- {\item}%
+ \renewcommand*{\makelabel}[1]{\hss##1}}
+ {\endlist}
+ {\item}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-numeric.cbx b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-numeric.cbx
index dc54ba52279..a7dbe8e9701 100644
--- a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-numeric.cbx
+++ b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-numeric.cbx
@@ -1,6 +1,15 @@
-\ProvidesFile{iso-numeric.cbx}[2017/04/25 v0.3.2 biblatex citation style]
+\ProvidesFile{iso-numeric.cbx}
+ [2020/03/25 v0.4.0 ISO 690 biblatex citation style]
\RequireCitationStyle{numeric}
\RequireCitationStyle{iso-fullcite}
+% Format \parencite with parentheses instead of brackets
+\DeclareCiteCommand{\parencite}[\mkbibparens]% <---- was \mkbibbrackets
+ {\usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {\multicitedelim}
+ {\usebibmacro{postnote}}
+
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-numeric.dbx b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-numeric.dbx
index c2bded8f073..6cf14fe74e1 100644
--- a/Master/texmf-dist/tex/latex/biblatex-iso690/iso-numeric.dbx
+++ b/Master/texmf-dist/tex/latex/biblatex-iso690/iso-numeric.dbx
@@ -1,6 +1,12 @@
-\ProvidesFile{iso-numeric.dbx}[2017/04/25 v0.3.2 biblatex data model extension]
+\ProvidesFile{iso-numeric.dbx}
+ [2020/03/25 v0.4.0 ISO 690 biblatex data model extension]
+
\RequireBiber[3]
-\DeclareDatamodelFields[type=list,datatype=name]{supervisor}
-\DeclareDatamodelFields[type=field,datatype=literal]{classification}
+
+% Declare new fields
+\DeclareDatamodelFields[type=list, datatype=name]{supervisor}
+\DeclareDatamodelFields[type=field, datatype=literal]{dateaddon}
+
+% Declare new fields for (specific / all) entry types
\DeclareDatamodelEntryfields[thesis]{supervisor}
-\DeclareDatamodelEntryfields[patent]{classification}
+\DeclareDatamodelEntryfields{dateaddon}
diff --git a/Master/texmf-dist/tex/latex/biblatex-iso690/iso.bbx b/Master/texmf-dist/tex/latex/biblatex-iso690/iso.bbx
index c4d0f165316..ce2668f718b 100644
--- a/Master/texmf-dist/tex/latex/biblatex-iso690/iso.bbx
+++ b/Master/texmf-dist/tex/latex/biblatex-iso690/iso.bbx
@@ -1,54 +1,76 @@
-\ProvidesFile{iso.bbx}[2017/04/25 v0.3.2 biblatex bibliography style]
+\ProvidesFile{iso.bbx}
+ [2020/03/25 v0.4.0 ISO 690 biblatex bibliography style]
-\DeclareLanguageMapping{czech}{czech-iso}
-\DeclareLanguageMapping{english}{english-iso}
-\DeclareLanguageMapping{slovak}{slovak-iso}
-\DeclareLanguageMapping{german}{german-iso}
-\DeclareLanguageMapping{polish}{polish-iso}
-\NewBibliographyString{at,bysupervisor,urlalso}
+% Currently available language mappings:
+% Czech, English, Slovak, German, Polish, Bulgarian,
+% French
+\DeclareLanguageMappingSuffix{-iso}
+% Currently needed the following additional language strings:
+\NewBibliographyString{at,bysupervisor,urlalso,
+ director,bydirector,inventor,byinventor,online,film}
-%options
+% PACKAGE OPTIONS
+% Define new package options
+% These toggle names are internal
\newtoggle{bbx:spcolon}
+\newtoggle{bbx:totalpages}
+\newtoggle{bbx:shortnum}
+\newtoggle{bbx:thesisinfoinnotes}
+\newtoggle{bbx:url}
+\newtoggle{bbx:isbn}
+\newtoggle{bbx:doi}
+\newtoggle{bbx:eprint}
+\newtoggle{bbx:articlepubinfo}
+
+% Print info about package options into .log file
+\protected\def\isoblx@info@noline#1{%
+ \PackageInfo{biblatex-iso690}{#1\@gobble}}
+\let\isoblx@info\isoblx@info@noline
+\AtEndOfPackage{%
+ \protected\def\isoblx@info#1{%
+ \PackageInfo{biblatex-iso690}{#1}}}
+
+% Declare new package options
+% Description of these options is in the doc file
+% '\isoblx@info@noline' command prints to the .log file
\DeclareBibliographyOption{spacecolon}[true]{%
\settoggle{bbx:spcolon}{#1}%
- \typeout{Space colon enabled: #1}}
+ \isoblx@info@noline{Space colon enabled: #1}}
-\newtoggle{bbx:totalpages}
\DeclareBibliographyOption{pagetotal}[true]{%
\settoggle{bbx:totalpages}{#1}%
- \typeout{Showing total pages enabled: #1}}
+ \isoblx@info@noline{Total pages enabled: #1}}
-\newtoggle{bbx:shortnum}
\DeclareBibliographyOption{shortnumeration}[true]{%
\settoggle{bbx:shortnum}{#1}%
- \typeout{Short numeration enabled: #1}}
+ \isoblx@info@noline{Short numeration enabled: #1}}
-\newtoggle{bbx:thesisinfoinnotes}
\DeclareBibliographyOption{thesisinfoinnotes}[true]{%
\settoggle{bbx:thesisinfoinnotes}{#1}%
- \typeout{Printing thesis info at the end enabled: #1}}
+ \isoblx@info@noline{Printing thesis info at the end enabled: #1}}
-\newtoggle{bbx:url}
\DeclareBibliographyOption{url}[true]{%
\settoggle{bbx:url}{#1}%
- \typeout{Showing URL field enabled: #1}}
+ \isoblx@info@noline{URL field enabled: #1}}
-\newtoggle{bbx:isbn}
\DeclareBibliographyOption{isbn}[true]{%
\settoggle{bbx:isbn}{#1}%
- \typeout{Showing ISBN field enabled: #1}}
+ \isoblx@info@noline{ISBN field enabled: #1}}
-\newtoggle{bbx:doi}
\DeclareBibliographyOption{doi}[true]{%
\settoggle{bbx:doi}{#1}%
- \typeout{Showing DOI field enabled: #1}}
+ \isoblx@info@noline{DOI field enabled: #1}}
-\newtoggle{bbx:eprint}
\DeclareBibliographyOption{eprint}[true]{%
\settoggle{bbx:eprint}{#1}%
- \typeout{Showing eprint field enabled: #1}}
+ \isoblx@info@noline{eprint field enabled: #1}}
+
+\DeclareBibliographyOption{articlepubinfo}[true]{%
+ \settoggle{bbx:articlepubinfo}{#1}%
+ \isoblx@info@noline{Article publication info enabled: #1}}
+% Set default package options
\ExecuteBibliographyOptions{%
spacecolon=false,
pagetotal=false,
@@ -58,47 +80,67 @@
isbn=true,
doi=true,
eprint=true,
- % sorting=nyt,
- maxnames=9,
- minnames=1,
- citetracker=true,
- autolang=other,
- date=year,
- urldate=iso,
- seconds=true,
+ articlepubinfo=false, % Printing article publication info is unusual
+ maxnames=99,% If possible, all creators should be given in the reference
+ minnames=1,% If any names are omitted => first creator + and others (et al.)
+ citetracker=true,% Citation tracker in global mode
+ autolang=other,% Use the 'langid' language for the entry
+ date=year,% Use only years
+ urldate=iso,% Use ISO8601 Extended Format (yyyy-mm-dd) for URL 'seen' dates
+ seconds=true,% ISO8601 format requires 'seconds=true'
+ datecirca=true,% Use circa for approximate dates
}
+% Default definitions of beginning and closing macro
+% in bibliography drivers
\newbibmacro*{begentry}{}
\newbibmacro*{finentry}{\finentry}
-%commands
+% COMMANDS
-\newcommand\mainsstring[1]{\bibsstring[\mainlang]{#1}}
-\newcommand\mainlstring[1]{\biblstring[\mainlang]{#1}}
+% The separator between 'titles' and 'subtitles'
+\renewcommand*{\subtitlepunct}{\addspacecolon\space}
-\renewcommand*\subtitlepunct{\addspacecolon\addspace}
-\renewcommand\multinamedelim{\addsemicolon\addspace}
-\renewcommand\finalnamedelim{\multinamedelim}
+% The separator between more standard identifiers, like ISBNs or ISSNs.
+% Default separator is comma and space. You can use something like
+% \renewcommand{\stdidentifierspunct}{\addsemicolon\space}
+% in the preamble to change the separator
+\newcommand{\stdidentifierspunct}{\addcomma\space}
-\newcommand\addspacecolon{%
+% The separator between date and dateaddon
+\newcommand{\dateaddonpunct}{\addspace}
+
+% The separator between 'dates' and the numeration section
+\newcommand{\numerationpunct}{\addcomma\space}
+
+% A colon preceded with or without space
+\newcommand{\addspacecolon}{%
\iftoggle{bbx:spcolon}
- {\addnbspace\blx@addsppunct{colon}}
- {\unspace\blx@addsppunct{colon}}%
+ {\addnbspace\addspcolon}
+ {\unspace\addspcolon}%
}
-% Thanks Moewew for sugesting this. Make uppercase names only in biblipgraphy.
+% Context-sensitive delimiters
+
+% The delimiter between mutliple names
+% A semicolon: legacy of older versions of standard / Czech interpretations
+\DeclareDelimFormat{multinamedelim}{\addsemicolon\space}
+
+% The delimiter before the final name
+% Use consistent name format for all creators
+\DeclareDelimAlias{finalnamedelim}{multinamedelim}
+
+% Thanks Moewew for sugesting this. Make uppercase names only in bibliography.
% Default name format is ALL-CAPS
-% use something like
-% \let\lastnameformat=\textsc
+% use something like
+% \let\familynameformat=\textsc
% to change this
-
-\providecommand{\mkbibnamefamily}[1]{#1}
-\newcommand\lastnameformat[1]{\MakeUppercase{#1}}
+\newcommand{\familynameformat}[1]{\MakeUppercase{#1}}
\AtBeginBibliography{%
- \renewcommand\mkbibnamelast{\lastnameformat}%
- \renewcommand\mkbibnamefamily{\lastnameformat}%
+ \renewcommand{\mkbibnamefamily}{\familynameformat}%
}
+% Default bibliography environment (layout)
\defbibenvironment{bibliography}
{\list%
{}%
@@ -106,94 +148,187 @@
\setlength{\itemindent}{-\leftmargin}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}%
- \renewcommand*{\makelabel}[1]{\hss##1}
- %\raggedright}
- }%
+ \renewcommand*{\makelabel}[1]{\hss##1}}%
{\endlist}%
{\item}%
-%
-%field formats
+% FIELD FORMATS
+
+% Format title and subtitle as is
\DeclareFieldFormat*{title}{#1}
\DeclareFieldFormat*{subtitle}{#1}
-\DeclareFieldFormat{volume}{\bibsstring{volume}\addnbspace#1}% volume of a book
+
+% Format volume field with localisation string
+\DeclareFieldFormat{volume}{\bibstring{volume}\addnbspace#1}% volume of a book
+% Differentiate volume in journal
\DeclareFieldFormat[article,periodical]{volume}{%
\iftoggle{bbx:shortnum}
{\mkbibbold{#1}}
- {\bibsstring{jourvol}\addnbspace#1}% volume of a journal
+ {\bibstring{jourvol}\addnbspace#1}% volume of a journal
}
+
+% Edition field could be:
+% a) numeral: use with localisation string
+% b) literal: capitalize given string
\DeclareFieldFormat*{edition}{%
\ifnumeral{#1}%
- {\mkbibordedition{#1}\addnbspace\bibsstring{edition}}%
+ {\mkbibordedition{#1}\addnbspace\bibstring{edition}}%
{\MakeCapital{#1}}%
}%
+
+% Format pagination for page range
+% Always use main document language for this field
\DeclareFieldFormat*{pages}{\mkmlpageprefix[bookpagination]{#1}}
+% Differentiate page range in journal
\DeclareFieldFormat[article,periodical]{pages}{%
\iftoggle{bbx:shortnum}
{#1}
- {\mainsstring{pages}\addspace\printtext{#1}}%
+ {\mkmlpageprefix[bookpagination]{#1}}%
}
+
+% Format pagination for total number of pages
+% Always use main document language for this field
\DeclareFieldFormat*{pagetotal}{\mkbibbrackets{\mkmlpagetotal[bookpagination]{#1}}}
-\DeclareFieldFormat*{number}{\bibsstring{number}\addspace\printtext{#1}}
+
+% Format number field with localisation string
+\DeclareFieldFormat*{number}{\bibstring{number}\addspace #1}
+% Differentiate number in journal
\DeclareFieldFormat[article,periodical]{number}{%
\iftoggle{bbx:shortnum}
{\mkbibparens{#1}}
- {\bibsstring{number}\addspace\printtext{#1}}%
+ {\bibstring{number}\addspace #1}%
}
-\DeclareFieldFormat[patent]{number}{#1}
+% Differentiate number for patent and report: format as is
+\DeclareFieldFormat[patent,report]{number}{#1}
+
+% a) url AND no urldate: use localisation string 'available ALSO from',
+% meaning: the work is not primarily published electronically
+% b) url AND urldate: use localisation string 'available from'
\DeclareFieldFormat*{url}{%
\iffieldundef{urlyear}
- {\mainlstring{urlalso}\addcolon\space\url{#1}}
- {\mainlstring{urlfrom}\addcolon\space\url{#1}}%
+ {\mainlangbibstring{urlalso}}
+ {\mainlangbibstring{urlfrom}}%
+ \addcolon\space\url{#1}%
}
-\DeclareFieldFormat{doi}{%
- \printtext{DOI}\addcolon\space
- \ifhyperref
- {\href{https://doi.org/#1}{\nolinkurl{#1}}}
- {\nolinkurl{#1}}%
-}
-\DeclareFieldFormat{howpublished}{\mkbibbrackets{#1}}
-\DeclareFieldFormat[online]{howpublished}{%
- \iffieldundef{howpublished}
- {\mkbibbrackets{online}}
+
+% Format medium type in square brackets
+% If available, use the localisation string for the key
+\DeclareFieldFormat{howpublished}{%
+ \ifbibstring{#1}
+ {\mainlangbibstring[\mkbibbrackets]{#1}}
{\mkbibbrackets{#1}}%
}
+% Format type, e.g. type of thesis
+% If available, use the localisation string for the key
\DeclareFieldFormat{type}{%
\ifbibstring{#1}
- {\mainlstring{#1}}
+ {\mainlangbibstring{#1}}
{#1}%
}
+% Format supervisor of thesis (precedes the name with a localisation string)
\DeclareFieldFormat{supervisor}{%
- \mainlstring{bysupervisor}\addspace#1}
+ \mainlangbibstring{bysupervisor}\addspace#1}
+
+% \mkbibacro typesets acronyms in small caps by default,
+% if we want to override this, pass the value as is (uppercase)
+% \renewcommand*{\mkbibacro}[1]{#1}
+% Applies to DOI, ISBN, ISSN, ISAN, ISMN, ISRN, ISWC
-%We must handle more than one isbn and issn
+% If we really must handle more than one ISBN and ISSN.
+%
+% Typically there could be different ISBN / ISSN for printed and electronic
+% media versions, but the standard says that the specific copy or instance of
+% the document should be cited, so the author should choose the appropriate
+% number in the bib file. Otherwise include comma-separated list of numbers in
+% the bib field 'isbn' or 'issn'.
+
+% Separator value between more ISBNs / ISSNs is handled by '\stdidentifierspunct'.
+% Default format is the name of identifier + space + number:
+% e.g. 'ISBN 978-3-642-21665-7'
\DeclareFieldFormat{isbn}{%
- %\renewcommand*{\do}[1]{\printtext{ISBN}\addspace#1\adddot\addspace}%
- \printtext{ISBN}\addspace#1}%
+ % Execute this rule for the first value of the csv field
+ \def\do##1{\mkbibacro{ISBN}\space##1%
+ % Execute this rule for the next value(s) of the csv field
+ \def\do####1{\stdidentifierspunct\mkbibacro{ISBN}\space####1}}%
+ % Process the csv field with \do command
+ \docsvfield{isbn}%
+}
+% The same formatting rules as for ISBN above
\DeclareFieldFormat{issn}{%
- \renewcommand*{\do}[1]{\printtext{ISSN}\addspace#1\adddot\addspace}%
- \docsvfield{issn}}%
+ \def\do##1{\mkbibacro{ISSN}\space##1%
+ \def\do####1{\stdidentifierspunct\mkbibacro{ISSN}\space####1}}%
+ \docsvfield{issn}%
+}
+
+% Format other standard identifiers
+% Default format is the name of identifier + space + number
+\DeclareFieldFormat{isan}{\mkbibacro{ISAN}\addspace#1}
+\DeclareFieldFormat{ismn}{\mkbibacro{ISMN}\addspace#1}
+\DeclareFieldFormat{isrn}{\mkbibacro{ISRN}\addspace#1}
+\DeclareFieldFormat{iswc}{\mkbibacro{ISWC}\addspace#1}
-\DeclareFieldFormat{isan}{\printtext{ISAN}\addspace#1}
-\DeclareFieldFormat{ismn}{\printtext{ISMN}\addspace#1}
-\DeclareFieldFormat{isrn}{\printtext{ISRN}\addspace#1}
-\DeclareFieldFormat{iswc}{\printtext{ISWC}\addspace#1}
+% Format url seen date with preceding localisation string in square brackets
+\DeclareFieldFormat{urldate}{\mkbibbrackets{\mainlangbibstring{urlseen}\space#1}}
-\DeclareFieldFormat{urldate}{\mkbibbrackets{\mainsstring{urlseen}\space#1}}
+% Format additional date information as is (use bib file for modifications).
+\DeclareFieldFormat{dateaddon}{#1}
+% Format circa date with preceding localisation string in square brackets;
+% default \datecircaprint is \bibstring{circa}\printdelim{datecircadelim},
+% e.g. [ca. 1940].
+\DeclareFieldFormat{date}{%
+ \ifdatecirca
+ {\mkbibbrackets{#1}}%
+ {#1}%
+}
+
+% Format 'labeldate' the same as 'date' field.
+% We use 'labeldate' in 'iso-authoryear' style.
+% Format circa date and nodate. Dateaddon and date as is.
+\DeclareFieldFormat{labeldate}{%
+ \ifdatecirca
+ {\mkbibbrackets{#1}}%
+ {% Check if there is 'nodate' from 'labeldate'
+ \iffieldequalstr{labeldatesource}{nodate}
+ % This is a \literal{nodate}, meaning that it uses the 'nodate'
+ % localisation string due to default \DeclareLabeldate setting
+ {\mkbibbrackets{#1}}%
+ {#1}}% This is the go-to format
+}
+
+% Define dates to consider for 'labeldate', based on
+% the default definition, but without 'urldate' field,
+% preventing printing url seen date in place of the year
+% of a publication.
+\DeclareLabeldate{%
+ \field{date}
+ \field{year}
+ \field{dateaddon}% <---- biblatex-iso690 data model extension
+ \field{eventdate}
+ \field{origdate}
+ \literal{nodate}
+}
+
+% Format chapter of book with preceding localisation string
\DeclareFieldFormat{chapter}{\bibstring{chapter}\addnbspace#1\isdot}
+
+% Version field could be:
+% a) numeral: use with localisation string
+% b) literal: capitalize given string
\DeclareFieldFormat{version}{%
\ifnumeral{#1}%
- {\biblstring{version}\addnbspace#1}%
+ {\bibstring{version}\addnbspace#1}%
{\MakeCapital{#1}}%
}
+% Format library field as is (location information)
\DeclareFieldFormat{library}{#1}
+% Format (sub)titles as they are
\DeclareFieldFormat{journaltitle}{#1}
\DeclareFieldFormat{booktitle}{#1}
\DeclareFieldFormat{maintitle}{#1}
@@ -203,55 +338,72 @@
\DeclareFieldFormat{mainsubtitle}{#1}
\DeclareFieldFormat{issuesubtitle}{#1}
+% Format other / alternative titles in square brackets
\DeclareFieldFormat{titleaddon}{\mkbibbrackets{#1}}
-\DeclareFieldFormat{booktitleaddon}{\mkbibbrackets{#1}}
-\DeclareFieldFormat{maintitleaddon}{\mkbibbrackets{#1}}
+\DeclareFieldAlias{booktitleaddon}{titleaddon}
+\DeclareFieldAlias{maintitleaddon}{titleaddon}
+% Format additional name information in square brackets
\DeclareFieldFormat{nameaddon}{\mkbibbrackets{#1}}
-%name alias
+% NAME ALIAS
-\DeclareNameAlias{default}{last-first}
-\DeclareNameAlias{supervisor}{first-last}
+% Default name list format is last (family) followed by given (first) name
+\DeclareNameAlias{default}{family-given}
+% For supervisor, use the reversed order format:
+% given (first) name followed by last (family) name,
+% so it may sound more naturally in this order
+\DeclareNameAlias{supervisor}{given-family}
-%bibliography macros
+% BIBLIOGRAPHY MACROS
-%names
+% NAMES MACROS
-% based on author/editor macro
+% Based on author/editor macro
+% Adds nameaddon field to author names
\newbibmacro*{names:primary}{%
\ifboolexpr{
test \ifuseauthor
and
not test {\ifnameundef{author}}
}
- {\usebibmacro{author}}
+ {\usebibmacro{author}%
+ \setunit{\addspace}%
+ \printfield{nameaddon}}%
{\usebibmacro{editor}}%
- \setunit{\addspace}\printfield{nameaddon}%
}
+% Macro for secondary authors with their role
\newbibmacro*{names:subsidiary}{%
\usebibmacro{byeditor}%
\newunit
\usebibmacro{bytranslator}%
}
+% Don't owerwrite default macros to change only delimiters / punctuation,
+% declare their format instead.
% https://github.com/michal-h21/biblatex-iso690/issues/68#issuecomment-435650072
-\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
+\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{editortypedelim}{\addspace}
+\DeclareFieldFormat{authortype}{\mkbibparens{#1}}
+\DeclareDelimFormat{authortypedelim}{\addspace}
-
+% Macro for printing supervisor field
\newbibmacro*{thesissupervisor}{%
\ifnameundef{supervisor}
{}
- {\printtext{\mainlstring{bysupervisor}}%
- \addspace%
+ {\mainlangbibstring{bysupervisor}%
+ \setunit{\addspace}%
\printnames{supervisor}}%
}
-%titles
+% TITLES MACROS
+% Macro for formatting <prefix>titles
+% 1st argument: prefix / type of title (e.g. main, book, event),
+% if empty, 'title' field is handled
+% 2nd argument: formatting directive (e.g. emph)
\newbibmacro{titles}[2]{%
\ifboolexpr{
test {\iffieldundef{#1title}}
@@ -262,19 +414,21 @@
\printfield{#1title}%
\setunit{\subtitlepunct}%
\printfield{#1subtitle}}%
- \setunit{\addspace}}%
+ \setunit{\addspace}}%
\printfield{#1titleaddon}%
\newunit
}%
+% Macro for printing volumes (part of volumes)
\newbibmacro{volume}{%
\iffieldundef{volume}
{}
{\printfield{volume}%
\printfield{part}%
- \setunit{\addcomma\addspace}}%
+ \setunit{\addcomma\space}}%
}
+% Macro for formatting multiple titles
\newbibmacro{multi:titles}{%
\iffieldundef{maintitle}
{\iffieldundef{booktitle}
@@ -287,6 +441,8 @@
\usebibmacro{titles}{}{}}%
}
+% Macro for formatting multiple hierarchical titles
+% (e.g. for inbook, incollection)
\newbibmacro{host:titles}{%
\iffieldundef{maintitle}
{\iffieldundef{booktitle}
@@ -295,6 +451,7 @@
{\usebibmacro{titles}{main}{emph}}%
}%
+% Macro for formatting multiple titles in periodicals
\newbibmacro{periodical:titles}{%
\usebibmacro{titles}{}{emph}%
\newunit
@@ -305,64 +462,117 @@
{\usebibmacro{titles}{issue}{}}%
}
-%medium type
+% MEDIUM TYPE MACROS
\newbibmacro*{medium-type}{%
\iffieldundef{howpublished}
- {\iffieldundef{urlyear}
- {}
- {\printtext{\mkbibbrackets{online}}}}
- {\printfield{howpublished}}%
+ {% Automatic printing of '[online]' type of medium when
+ % a) 'urldate' is present AND
+ % b) url is enabled (pkg option url=true) OR
+ % entry type is '@online'
+ \ifboolexpr{
+ not test {\iffieldundef{urlyear}}
+ and ( test {\iftoggle{bbx:url}}
+ or test {\ifentrytype{online}})
+ }
+ % Use a localisation string 'online' in the main document language
+ {\mainlangbibstring[\mkbibbrackets]{online}}%
+ {}}% Don't print anything
+ {% The only situation when we don't want to print
+ % 'howpublished' field is when
+ % a) url is disabled (pkg option url=false) AND
+ % b) entry type is other than '@online' AND
+ % c) 'howpublished' field is 'online'.
+ % Please note that this field is not checked against
+ % any possible literal value (e.g. electronic, online article)
+ % that should be probably also hidden when a) AND b) hold.
+ \ifboolexpr{
+ test {\iffieldequalstr{howpublished}{online}}
+ and not test {\iftoggle{bbx:url}}
+ and not test {\ifentrytype{online}}
+ }
+ {}% Don't print 'howpublished' field
+ {\printfield{howpublished}}}%
}
-%publication info
+% PUBLICATION INFO MACROS
+
+% By default only year is used, but for some entries,
+% we need full date (day or even time precision),
+% (e.g. patents, TV shows, newspapers, online news)
-\newbibmacro{fulldate}{%
- \printtext{\csname mkbibrangeiso8601\endcsname{\thefield{date}}}%
+% Macro for printing full date (full = YYYY-MM-DD)
+\newbibmacro*{fulldate}{%
+ \mkdaterangeiso{}%
}
+% a)
+% If there is no date field in the bib entry,
+% we should state there is no date by printing
+% a localisation string, e.g. [n.d.].
+% b)
+% Order: <date> <dateaddon>
\renewbibmacro*{date}{%
- \iffieldequalstr{endyear}{}%
- {\printdate\mbox{\addnbspace}}%
- {\printdate}%
+ \iffieldundef{year}
+ {\iffieldundef{dateaddon}
+ {\bibstring[\mkbibbrackets]{nodate}}%
+ {\printfield{dateaddon}}}%
+ {\printdate%
+ \setunit{\dateaddonpunct}%
+ \printfield{dateaddon}}%
}
-\newbibmacro*{location+publisher+date}{%
+% Based on publisher+location+date macro (defined in standard.bbx)
+% Differs only in punctuation
+%
+% Wrapper for printing normal or full date. 1st argument:
+% * empty: \usebibmacro{date}
+% * 'full': \usebibmacro{fulldate}
+\newbibmacro*{location+publisher+dateform}[1]{%
\printlist{location}%
\iflistundef{publisher}
- {\setunit*{\addcomma\space}}%
- {\setunit*{\subtitlepunct}}%
+ {\setunit*{\addcomma\space}}
+ {\setunit*{\subtitlepunct}}% <---- different punctuation
\printlist{publisher}%
\setunit*{\addcomma\space}%
- \usebibmacro{date}%
+ \usebibmacro{#1date}%
\newunit}
-%numeration
+\newbibmacro*{location+publisher+date}{%
+ \usebibmacro{location+publisher+dateform}{}}
+
+\newbibmacro*{location+publisher+fulldate}{%
+ \usebibmacro{location+publisher+dateform}{full}}
+
+% NUMERATION MACROS
\newbibmacro*{serial:numeration}{%
\printfield{volume}%
\iftoggle{bbx:shortnum}
{}
- {\setunit*{\addcomma\addspace}}%
+ {\setunit*{\addcomma\space}}%
\printfield{number}%
}
\newbibmacro*{book:numeration}{%
\printfield{volume}%
- \setunit*{\addcomma\addspace}%
+ \setunit*{\addcomma\space}%
\printfield{chapter}%
}
-%series title and number
+% SERIES TITLE AND NUMBER MACROS
+% Based on series+number macro (defined in standard.bbx)
+% Differs only in punctuation
\newbibmacro*{series+number}{%
\printfield{series}%
\setunit*{\addcomma\space}%
\printfield{number}%
}%
-%standard identifiers
+% STANDARD IDENTIFIERS MACROS
+% Bunch of standard identifiers
\newbibmacro*{identifier}{%
\iftoggle{bbx:isbn}
{\printfield{isan}%
@@ -380,32 +590,63 @@
{}%
}
-%availability and access
+% AVAILABILITY AND ACCESS MACROS
+% Precedes DOI field with urlfrom localisation string
\newbibmacro*{from-doi}{%
- \mainlstring{urlfrom}\addspace\printfield{doi}%
+ \mainlangbibstring{urlfrom}%
+ \setunit{\addspace}%
+ \printfield{doi}%
}
+% Precedes eprint field with urlfrom localisation string
+% Use default eprint formatting macro
\newbibmacro*{from-eprint}{%
- \mainlstring{urlfrom}\addspace\usebibmacro{eprint}%
+ \mainlangbibstring{urlfrom}
+ \setunit{\addspace}%
+ \usebibmacro{eprint}%
}
+% Macro for availability and access information
+% with order of importance: doi, eprint, url
\newbibmacro*{availability+access}{%
- \iffieldundef{doi}
- {\iffieldundef{eprint}
- {\iftoggle{bbx:url}
- {\printfield{url}}
- {}}
- {\iftoggle{bbx:eprint}
- {\usebibmacro{from-eprint}}
- {}}}
- {\iftoggle{bbx:doi}
- {\usebibmacro{from-doi}}
- {}}%
+ \ifboolexpr{
+ test {\iftoggle{bbx:doi}}
+ and not test {\iffieldundef{doi}}
+ }
+ {\usebibmacro{from-doi}}%
+ {%
+ \ifboolexpr{
+ test {\iftoggle{bbx:eprint}}
+ and not test {\iffieldundef{eprint}}
+ }
+ {\usebibmacro{from-eprint}}%
+ {\usebibmacro{url}}}%
+}
+
+% The url field of @online entries is always printed
+\renewbibmacro*{url}{%
+ \ifboolexpr{
+ test {\iftoggle{bbx:url}}
+ or test {\ifentrytype{online}}
+ }
+ {\printfield{url}}%
+ {}%
}
-%location
+% The url seen date of @online entries is always printed
+\renewbibmacro*{urldate}{%
+ \ifboolexpr{
+ test {\iftoggle{bbx:url}}
+ or test {\ifentrytype{online}}
+ }
+ {\printurldate}%
+ {}%
+}
+
+% LOCATION MACROS
+% Additional location information (e.g. library, repository)
\newbibmacro*{location}{%
\iffieldundef{library}
{}
@@ -413,37 +654,79 @@
\printfield{library}}%
}
-%other
+% OTHER MACROS
-% redeclare in: bibmacro to use the main document language.
-% there was discussion whether literal "In:" should be used,
+% Redeclare in: bibmacro to use the main document language.
+% There was discussion whether literal "In:" should be used,
% but that would look weird in non-latin languages.
-% context: https://github.com/michal-h21/biblatex-iso690/pull/33
+% Context: https://github.com/michal-h21/biblatex-iso690/pull/33
+% Force to use the main document language for 'in' localisation string
\renewbibmacro*{in:}{%
- \printtext{\mainsstring{in}\intitlepunct}%
+ \mainlangbibstring{in}%
+ \printunit{\intitlepunct}%
}
+% Based on 'in:' macro for 'at' localisation string
\newbibmacro*{at:}{%
- \printtext{\mainsstring{at}\intitlepunct}%
+ \mainlangbibstring{at}%
+ \printunit{\intitlepunct}%
}
-%biblatex core
+% BIBLATEX CORE ADJUSTMENTS
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Localisation strings in the main document language
+%
+% \mainlangbibstring in place of \bibstring
+% \mainlangbiblstring in place of \biblstring
+% \mainlangbibsstring in place of \bibsstring
+
+% [<wrapper>]{<string>}
+\newrobustcmd*{\blx@imc@mainlangbibstring}[2][\@firstofone]{%
+ \blx@mainlangbibstring{#1}{\abx@str}{#2}}
+
+\newrobustcmd*{\blx@imc@mainlangbiblstring}[2][\@firstofone]{%
+ \blx@mainlangbibstring{#1}{abx@lstr}{#2}}
+
+\newrobustcmd*{\blx@imc@mainlangbibsstring}[2][\@firstofone]{%
+ \blx@mainlangbibstring{#1}{abx@sstr}{#2}}
+
+\protected\def\blx@mainlangbibstring#1#2#3{%
+ {\mainlang% <---- use main document language
+ \blx@begunit
+ \blx@hyphenreset
+ \blx@bibstringsimple
+ \lowercase{\edef\blx@tempa{#3}}%
+ \ifcsundef{#2@\blx@tempa}
+ {\blx@warn@nostring\blx@tempa
+ \blx@endnounit}
+ {\blx@imc@ifcapital
+ {#1{\MakeCapital{\csuse{#2@\blx@tempa}}}}
+ {#1{\csuse{#2@\blx@tempa}}}%
+ \blx@endunit}}}
+
+\blx@regimcs{%
+ \mainlangbibstring \mainlangbiblstring \mainlangbibsstring
+}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% overriding bookpagination to use document main language
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Overriding bookpagination to use document main language
+%
+% Use new name 'mkpagetotal' over 'mkmlpagetotal'
+% Use 'mainlangbibsstring' over 'bibstring'
\newrobustcmd*{\blx@imc@mkmlpagetotal}[1][bookpagination]{%
\begingroup
- \def\blx@tempa{\blx@mkmlpagetotal{page}}%
+ \def\blx@tempa{\blx@mkmlpagetotal{pagetotal}}%
\iffieldundef{#1}
{}
{\iffieldequalstr{#1}{none}
{\def\blx@tempa{\blx@mkmlpagetotal@i}}
- {\iffieldbibstring{#1}
- {\edef\blx@tempa{\blx@mkmlpagetotal{\thefield{#1}}}}
+ {\iffieldplusstringbibstring{#1}{total}
+ {\edef\blx@tempa{\blx@mkmlpagetotal{\thefield{#1}total}}}
{\blx@warning@entry{%
- Unknown pagination type '\strfield{#1}'}}}}%
+ Unknown pagination type '\strfield{#1}total'}}}}%
\@ifnextchar[%]
{\blx@tempa}
{\blx@tempa[\@firstofone]}}
@@ -457,10 +740,10 @@
\else
\aftergroup\@secondoftwo
\fi}%
- {#2{#3}\ppspace\mainsstring{#1}}
- {#2{#3}\ppspace\mainsstring{#1s}}}
- {\def\pno{\mainsstring{#1}}%
- \def\ppno{\mainsstring{#1s}}%
+ {#2{#3}\ppspace\mainlangbibsstring{#1}}
+ {#2{#3}\ppspace\mainlangbibsstring{#1s}}}
+ {\def\pno{\mainlangbibsstring{#1}}%
+ \def\ppno{\mainlangbibsstring{#1s}}%
#2{#3}}%
\endgroup}
@@ -468,8 +751,11 @@
\blx@regimcs{\mkmlpagetotal}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% overriding pagination to use document main language
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Overriding pagination to use document main language
+%
+% Use new name 'mkmlpageprefix' over 'mkpageprefix'
+% Use 'mainlangbibsstring' over 'bibstring'
\newrobustcmd*{\blx@imc@mkmlpageprefix}[1][pagination]{%
\begingroup
@@ -488,23 +774,28 @@
\protected\long\def\blx@mkmlpageprefix#1[#2]#3{%
\ifnumeral{#3}
- {\mainsstring{#1}\ppspace}
+ {\mainlangbibsstring{#1}\ppspace}
{\ifnumerals{#3}
- {\mainsstring{#1s}\ppspace}
- {\def\pno{\mainsstring{#1}}%
- \def\ppno{\mainsstring{#1s}}}}%
+ {\mainlangbibsstring{#1s}\ppspace}
+ {\def\pno{\mainlangbibsstring{#1}}%
+ \def\ppno{\mainlangbibsstring{#1s}}}}%
\blx@mkmlpageprefix@i[#2]{#3}}
\long\def\blx@mkmlpageprefix@i[#1]#2{#1{#2}\endgroup}
\blx@regimcs{\mkmlpageprefix}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% use space punctuation
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Use space punctuation, package option 'spacecolon',
+% toggle 'bbx:spcolon', command '\addspcolon' / '\addspacecolon'
-% see biblatex2.sty for these macros
-\blx@regimcs{% let biblatex know the new macros
- \addspcolon }%
+% See 'biblatex.sty' for these macros
+%
+% Let biblatex know the new macro
+\blx@regimcs{\addspcolon}
+% Define the new macro
+\protected\def\blx@imc@addspcolon{\blx@addsppunct{colon}}
+% Implement the new macro
\def\blx@addsppunct#1{% <---- new name for spaced punctuation
%\unspace <----- commented out
\ifnum\blx@spacefactor<\blx@sf@threshold@low
@@ -520,13 +811,247 @@
\fi%
\csuse{blx@pq@#1}}%
-%bibliography drivers
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Adds non-breaking space after open date range, e.g. '1492-- '
+%
+
+\newcommand*{\mkopenendeddaterange}{\mbox{\bibdaterangesep\addnbspace}}
+
+% Used by '\printdate'
+%
+% {<short|long>}{<datetype>}
+\renewrobustcmd*{\mkdaterangefull}[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}{}
+ {\mkopenendeddaterange}% <---- added \addnbspace
+ {\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}}%
+ \enddateuncertainprint
+ \dateeraprint{#2endyear}}}}}%
+ \endgroup}
+
+% Used by '\printlabeldateextra' in 'iso-authoryear.bbx'
+%
+% {<short|long>}{<datetype>}
+\renewrobustcmd*{\mkdaterangefullextra}[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}%
+ \printtext{\mkopenendeddaterange}}% <---- added \addnbspace
+ {\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}}}}}%
+ \endgroup}
+
+% Other date formats for completeness
+
+% Avoids error with older biblatex version
+% WARNING: of course this means that in older versions the
+% date printing macro will not be changed as expected
+% this is not an issue for biblatex-iso690 since it only uses
+% \mkdaterangefull and \mkdaterangefullextra anyway
+\providecommand*{\mkdaterangetrunc@i}{}
+
+\renewrobustcmd*{\mkdaterangetrunc@i}[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}
+ {\ifdateyearsequal{#2}{#2end}
+ {\iffieldsequal{#2month}{#2endmonth}
+ {\csuse{mkbibdate#1}{}{}{#2day}}
+ {\csuse{mkbibdate#1}{}{#2month}{#2day}}}
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+ \iffieldsequal{#2dateera}{#2enddateera}{}
+ {\dateeraprint{#2year}}}}
+ {\ifdateyearsequal{#2}{#2end}
+ {\csuse{mkbibseasondate#1}{}{#2season}}
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \iffieldsequal{#2dateera}{#2enddateera}{}
+ {\dateeraprint{#2year}}}}%
+ \dateuncertainprint
+ \iffieldundef{#2endyear}
+ {}
+ {\iffieldequalstr{#2endyear}{}
+ {\mkopenendeddaterange}
+ {\bibdaterangesep
+ \enddatecircaprint
+ \iffieldundef{#2endseason}
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+ \enddateuncertainprint
+ \dateeraprint{#2endyear}}}}}%
+ \endgroup}
+
+% Avoids error with older biblatex version
+% WARNING: of course this means that in older versions the
+% date printing macro will not be changed as expected
+% this is not an issue for biblatex-iso690 since it only uses
+% \mkdaterangefull and \mkdaterangefullextra anyway
+\providecommand*{\mkdaterangetruncextra@i}{}
+
+\renewrobustcmd*{\mkdaterangetruncextra@i}[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}
+ {\ifdateyearsequal{#2}{#2end}
+ {\iffieldsequal{#2month}{#2endmonth}
+ {\csuse{mkbibdate#1}{}{}{#2day}}
+ {\csuse{mkbibdate#1}{}{#2month}{#2day}}}
+ {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+ \iffieldsequal{#2dateera}{#2enddateera}{}
+ {\dateeraprint{#2year}}}}
+ {\ifdateyearsequal{#2}{#2end}
+ {\csuse{mkbibseasondate#1}{}{#2season}}
+ {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+ \iffieldsequal{#2dateera}{#2enddateera}{}
+ {\dateeraprint{#2year}}}}%
+ \dateuncertainprint
+ \iffieldundef{#2endyear}
+ {\printfield{extradate}}
+ {\iffieldequalstr{#2endyear}{}
+ {\printfield{extradate}%
+ \printtext{\mkopenendeddaterange}}
+ {\printtext{%
+ \bibdaterangesep
+ \enddatecircaprint
+ \iffieldundef{#2endseason}
+ {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
+ {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+ \printfield{extradate}%
+ \enddateuncertainprint
+ \dateeraprint{#2endyear}}}}}%
+ \endgroup}
+
+
+% {<datetype>}
+\renewrobustcmd*{\mkdaterangeymd}[1]{%
+ \begingroup
+ \blx@metadateinfo{#1}%
+ \iffieldundef{#1year}
+ {\blx@nounit}
+ {\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
+ \iffieldundef{#1season}
+ {\blx@ymddate{#1}{}%
+ % Optionally print the time after the date
+ \blx@printtime{#1}{}}
+ {\csuse{mkbibseasondateshort}{#1year}{#1season}}%
+ \dateuncertainprint
+ \dateeraprint{#1year}%
+ \iffieldundef{#1endyear}
+ {}
+ {\iffieldequalstr{#1endyear}{}
+ {\mkopenendeddaterange}
+ {\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}}}}}%
+ \endgroup}
+
+% {<datetype>}
+\renewrobustcmd*{\mkdaterangeymdextra}[1]{%
+ \begingroup
+ \blx@metadateinfo{#1}%
+ \iffieldundef{#1year}
+ {\blx@nounit}
+ {\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
+ \iffieldundef{#1season}
+ {\blx@ymddate[extradate]{#1}{}%
+ % Optionally print the time after the date
+ \blx@printtime{#1}{}}
+ {\csuse{mkbibseasondateshort}{#1year}{#1season}}%
+ \dateuncertainprint
+ \dateeraprint{#1year}%
+ \iffieldundef{#1endyear}
+ {}
+ {\iffieldequalstr{#1endyear}{}
+ {\mkopenendeddaterange}
+ {\printtext{%
+ \bibdaterangesep
+ \enddatecircaprint
+ \iffieldundef{#1season}
+ {\blx@ymddate{#1}{end}%
+ % Optionally print the time after the date
+ \blx@printtime{#1}{end}}
+ {\csuse{mkbibseasondateshort}{#1endyear}{#1endseason}}}%
+ \enddateuncertainprint
+ \dateeraprint{#1endyear}}}}}%
+ \endgroup}
+
+% BIBLIOGRAPHY DRIVERS
\DeclareBibliographyDriver{book}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{names:primary}%
- \setunit{\labelnamepunct}\newblock
+ \setunit{\printdelim{nametitledelim}}\newblock
\usebibmacro{multi:titles}%
\setunit{\addspace}%
\usebibmacro{medium-type}%
@@ -562,9 +1087,9 @@
\DeclareBibliographyDriver{periodical}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
- % names macro just because of author-year style
+ % Names macro just because of author-year style
\usebibmacro{names:primary}%
- \setunit{\labelnamepunct}\newblock
+ \setunit{\printdelim{nametitledelim}}\newblock
\usebibmacro{periodical:titles}%
\setunit{\addspace}%
\usebibmacro{medium-type}%
@@ -572,7 +1097,7 @@
\printfield{edition}%
\newunit\newblock
\usebibmacro{location+publisher+date}%
- \setunit*{\addcomma\addspace}%
+ \setunit{\numerationpunct}%
\usebibmacro{serial:numeration}%
\setunit{\addspace}%
\usebibmacro{urldate}%
@@ -593,7 +1118,7 @@
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{names:primary}%
- \setunit{\labelnamepunct}\newblock
+ \setunit{\printdelim{nametitledelim}}\newblock
\usebibmacro{titles}{}{}%
\newunit\newblock
\usebibmacro{titles}{journal}{emph}%
@@ -602,8 +1127,10 @@
\newunit\newblock
\printfield{edition}%
\newunit\newblock
- \usebibmacro{date}
- \setunit*{\addcomma\addspace}%
+ \iftoggle{bbx:articlepubinfo}
+ {\usebibmacro{location+publisher+date}}
+ {\usebibmacro{date}}%
+ \setunit{\numerationpunct}%
\usebibmacro{serial:numeration}%
\setunit{\bibpagespunct}%
\printfield{pages}%
@@ -625,7 +1152,7 @@
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{names:primary}%
- \setunit{\labelnamepunct}\newblock
+ \setunit{\printdelim{nametitledelim}}\newblock
\usebibmacro{titles}{}{}%
\newunit\newblock
\usebibmacro{in:}%
@@ -640,7 +1167,7 @@
\usebibmacro{names:subsidiary}%
\newunit\newblock
\usebibmacro{location+publisher+date}%
- \setunit*{\addcomma\addspace}%
+ \setunit{\addcomma\space}%
\usebibmacro{book:numeration}%
\setunit{\bibpagespunct}%
\printfield{pages}%
@@ -667,7 +1194,7 @@
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{names:primary}%
- \setunit{\labelnamepunct}\newblock
+ \setunit{\printdelim{nametitledelim}}\newblock
\usebibmacro{titles}{}{}%
\newunit\newblock
\usebibmacro{in:}%
@@ -682,9 +1209,9 @@
\usebibmacro{names:subsidiary}%
\newunit\newblock
\usebibmacro{location+publisher+date}%
- % could number be even used in `incollection`?
+ % could number be even used in `incollection`?
% It should be at some other place in this case
- \setunit*{\addcomma\addspace}%
+ \setunit{\numerationpunct}%
\usebibmacro{book:numeration}%
\setunit{\bibpagespunct}%
\printfield{pages}%
@@ -711,7 +1238,7 @@
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{names:primary}%
- \setunit{\labelnamepunct}\newblock
+ \setunit{\printdelim{nametitledelim}}\newblock
\usebibmacro{multi:titles}%
\setunit{\addspace}%
\usebibmacro{medium-type}%
@@ -720,7 +1247,7 @@
\newunit\newblock
\usebibmacro{names:subsidiary}%
\newunit\newblock
- \usebibmacro{location+publisher+date}%
+ \usebibmacro{location+publisher+fulldate}%
\newunit
\printfield{version}%
\setunit{\addspace}%
@@ -735,6 +1262,7 @@
\iftoggle{bbx:totalpages}
{\printfield{pagetotal}}
{}%
+ \newunit\newblock
\printfield{note}%
\newunit\newblock
\setunit{\bibpagerefpunct}\newblock
@@ -745,7 +1273,7 @@
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{names:primary}%
- \setunit{\labelnamepunct}\newblock
+ \setunit{\printdelim{nametitledelim}}\newblock
\usebibmacro{titles}{}{emph}%
\setunit{\addspace}%
\usebibmacro{medium-type}%
@@ -760,7 +1288,7 @@
\newunit\newblock
\iftoggle{bbx:thesisinfoinnotes}
{}
- {\printfield{type}
+ {\printfield{type}%
\newunit\newblock
\printlist{institution}%
\newunit\newblock
@@ -786,17 +1314,52 @@
\usebibmacro{pageref}%
\usebibmacro{finentry}}%
+\DeclareBibliographyDriver{report}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{begentry}%
+ \usebibmacro{names:primary}%
+ \setunit{\printdelim{nametitledelim}}\newblock
+ \usebibmacro{titles}{}{emph}%
+ \setunit{\addspace}%
+ \usebibmacro{medium-type}%
+ \newunit\newblock
+ \usebibmacro{location+publisher+fulldate}%
+ \newunit
+ \printfield{version}%
+ \setunit{\addspace}%
+ \usebibmacro{urldate}%
+ \newunit\newblock
+ \iffieldundef{type}
+ {}
+ {\printfield{type}%
+ \setunit*{\addcomma\space}}%
+ \printfield{number}%
+ \newunit\newblock
+ \printlist{institution}%
+ \newunit\newblock
+ \usebibmacro{identifier}%
+ \newunit\newblock
+ \usebibmacro{availability+access}%
+ \setunit{\addspace}%
+ \iftoggle{bbx:totalpages}
+ {\printfield{pagetotal}}
+ {}%
+ \newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}
+
\DeclareBibliographyDriver{patent}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{names:primary}%
- \setunit{\labelnamepunct}\newblock
+ \setunit{\printdelim{nametitledelim}}\newblock
\usebibmacro{titles}{}{emph}%
\newunit\newblock
\usebibmacro{names:subsidiary}%
\newunit\newblock
- \printfield{classification}%
- \newunit\newblock
\printlist{location}%
\newunit\newblock
\iffieldundef{type}
@@ -809,15 +1372,15 @@
\setunit{\addspace}%
\usebibmacro{urldate}%
\newunit\newblock
- \printfield{note}%
- \newunit\newblock
\usebibmacro{availability+access}%
\newunit\newblock
+ \printfield{note}%
+ \newunit\newblock
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\usebibmacro{finentry}}%
-%bibliography aliases
+% BIBLIOGRAPHY ALIASES
\DeclareBibliographyAlias{bookinbook}{inbook}
\DeclareBibliographyAlias{suppbook}{inbook}
@@ -831,8 +1394,9 @@
\DeclareBibliographyAlias{inproceedings}{incollection}
\DeclareBibliographyAlias{reference}{collection}
\DeclareBibliographyAlias{inreference}{incollection}
-\DeclareBibliographyAlias{report}{thesis}
\DeclareBibliographyAlias{unpublished}{book}
+\DeclareBibliographyAlias{movie}{book}
+\DeclareBibliographyAlias{music}{book}
\DeclareBibliographyAlias{*}{misc}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex-iso690/polish-iso.lbx b/Master/texmf-dist/tex/latex/biblatex-iso690/polish-iso.lbx
index 9384b047aeb..b3b7f148daf 100644
--- a/Master/texmf-dist/tex/latex/biblatex-iso690/polish-iso.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex-iso690/polish-iso.lbx
@@ -1,5 +1,5 @@
\ProvidesFile{polish-iso.lbx}
-[2016/05/13 v0.3.1 biblatex localization]
+ [2020/03/25 v0.4.0 ISO 690 extended biblatex localization]
\InheritBibliographyExtras{polish}
\InheritBibliographyStrings{polish}
@@ -13,6 +13,18 @@
{dostępne z}},
urlalso = {{dostępne także z}%
{dostępne także z}},
+% director = {{}%
+% {}},% FIXME: missing
+% bydirector = {{}%
+% {}},% FIXME: missing
+% inventor = {{}%
+% {}},% FIXME: missing
+% byinventor = {{}%
+% {}},% FIXME: missing
+% online = {{}%
+% {}},% FIXME: missing
+% film = {{}%
+% {}},% FIXME: missing
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/biblatex-iso690/slovak-iso.lbx b/Master/texmf-dist/tex/latex/biblatex-iso690/slovak-iso.lbx
index 313a4245b6e..8bd4e4b096c 100644
--- a/Master/texmf-dist/tex/latex/biblatex-iso690/slovak-iso.lbx
+++ b/Master/texmf-dist/tex/latex/biblatex-iso690/slovak-iso.lbx
@@ -1,5 +1,5 @@
\ProvidesFile{slovak-iso.lbx}
-[2017/04/25 v0.3.2 biblatex localization]
+ [2020/03/25 v0.4.0 ISO 690 extended biblatex localization]
\InheritBibliographyExtras{slovak}
\InheritBibliographyStrings{slovak}
@@ -9,8 +9,20 @@
{v}},
bysupervisor = {{ved\'{u}ci pr\'{a}ce}%
{ved\'{u}ci pr\'{a}ce}},
- urlalso = {{dostupn\'{e} tie\v{z} z}%
- {dostupn\'{e} tie\v{z} z}},
+ urlalso = {{dostupn\'{e} tie\v{z} z}%
+ {dostupn\'{e} tie\v{z} z}},
+ director = {{re\v{z}is\'{e}r}%
+ {re\v{z}is\'{e}r}},
+ bydirector = {{r\'{e}\v{z}ia}%
+ {r\'{e}\v{z}ia}},
+ inventor = {{vyn\'{a}lezca}%
+ {vyn\'{a}lezca}},
+ byinventor = {{vyn\'{a}lezca\addcolon}%
+ {vyn\'{a}lezca\addcolon}},% FIXME: unsure
+ online = {{online}%
+ {online}},
+ film = {{film}%
+ {film}},
}
\endinput