summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex-iso690/iso.bbx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-iso690/iso.bbx')
-rwxr-xr-xMaster/texmf-dist/tex/latex/biblatex-iso690/iso.bbx812
1 files changed, 812 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-iso690/iso.bbx b/Master/texmf-dist/tex/latex/biblatex-iso690/iso.bbx
new file mode 100755
index 00000000000..4f240cf3719
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/biblatex-iso690/iso.bbx
@@ -0,0 +1,812 @@
+\ProvidesFile{iso.bbx}[2016/05/13 v0.3.1 biblatex bibliography style]
+
+\DeclareLanguageMapping{czech}{czech-iso}
+\DeclareLanguageMapping{english}{english-iso}
+\DeclareLanguageMapping{slovak}{slovak-iso}
+\NewBibliographyString{at,bysupervisor,urlalso}
+
+%options
+
+\newtoggle{bbx:spcolon}
+\DeclareBibliographyOption{spacecolon}[true]{%
+ \settoggle{bbx:spcolon}{#1}%
+ \typeout{Space colon enabled: #1}}
+
+\newtoggle{bbx:totalpages}
+\DeclareBibliographyOption{pagetotal}[true]{%
+ \settoggle{bbx:totalpages}{#1}%
+ \typeout{Showing total pages enabled: #1}}
+
+\newtoggle{bbx:shortnum}
+\DeclareBibliographyOption{shortnumeration}[true]{%
+ \settoggle{bbx:shortnum}{#1}%
+ \typeout{Short numeration enabled: #1}}
+
+\newtoggle{bbx:thesisinfolast}
+\DeclareBibliographyOption{thesisinfolast}[true]{%
+ \settoggle{bbx:thesisinfolast}{#1}%
+ \typeout{Printing thesis info at the end enabled: #1}}
+
+
+\ExecuteBibliographyOptions{%
+ spacecolon=false
+ ,pagetotal=false
+ ,shortnumeration=false
+ ,thesisinfolast=true
+ %sorting=nyt
+ ,maxnames=9
+ ,minnames=1
+ ,citetracker=true
+ %,autolang=other
+ ,date=year
+ ,urldate=iso8601
+}
+
+\newbibmacro*{begentry}{}
+\newbibmacro*{finentry}{\finentry}
+
+%commands
+
+\newcommand\mainsstring[1]{\bibsstring[\mainlang]{#1}}
+\newcommand\mainlstring[1]{\biblstring[\mainlang]{#1}}
+
+\renewcommand*\subtitlepunct{\addspacecolon\addspace}
+\renewcommand\multinamedelim{\addsemicolon\addspace}
+\renewcommand\finalnamedelim{\multinamedelim}
+
+\newcommand\addspacecolon{%
+ \iftoggle{bbx:spcolon}
+ {\addnbspace\blx@addsppunct{colon}}
+ {\unspace\blx@addsppunct{colon}}%
+}
+
+% Thanks Moewew for sugesting this. Make uppercase names only in biblipgraphy.
+% Default name format is ALL-CAPS
+% use something like
+% \let\lastnameformat=\textsc
+% to change this
+
+\providecommand{\mkbibnamefamily}[1]{#1}
+\newcommand\lastnameformat[1]{\MakeUppercase{#1}}
+\AtBeginBibliography{%
+ \renewcommand\mkbibnamelast{\lastnameformat}%
+ \renewcommand\mkbibnamefamily{\lastnameformat}%
+}
+
+\defbibenvironment{bibliography}
+ {\list%
+ {}%
+ {\setlength{\leftmargin}{\bibhang}%
+ \setlength{\itemindent}{-\leftmargin}%
+ \setlength{\itemsep}{\bibitemsep}%
+ \setlength{\parsep}{\bibparsep}}%
+ \renewcommand*{\makelabel}[1]{\hss##1}
+ %\raggedright}
+ }%
+ {\endlist}%
+ {\item}%
+%
+
+%field formats
+
+\DeclareFieldFormat*{title}{#1}
+\DeclareFieldFormat*{subtitle}{#1}
+\DeclareFieldFormat{volume}{\bibsstring{volume}\addnbspace#1}% volume of a book
+\DeclareFieldFormat[article,periodical]{volume}{%
+ \iftoggle{bbx:shortnum}
+ {\mkbibbold{#1}}
+ {\bibsstring{jourvol}\addnbspace#1}% volume of a journal
+}
+\DeclareFieldFormat*{edition}{%
+ \ifnumeral{#1}%
+ {\mkbibordedition{#1}\addnbspace\bibsstring{edition}}%
+ {\MakeCapital{#1}}%
+}%
+\DeclareFieldFormat*{pages}{\mkmlpageprefix[bookpagination]{#1}}
+\DeclareFieldFormat[article,periodical]{pages}{%
+ \iftoggle{bbx:shortnum}
+ {#1}
+ {\mainsstring{pages}\addspace\printtext{#1}}
+}
+\DeclareFieldFormat*{pagetotal}{\mkbibbrackets{\mkmlpagetotal[bookpagination]{#1}}}
+\DeclareFieldFormat*{number}{\bibsstring{number}\addspace\printtext{#1}}
+\DeclareFieldFormat[article,periodical]{number}{%
+ \iftoggle{bbx:shortnum}
+ {\mkbibparens{#1}}
+ {\bibsstring{number}\addspace\printtext{#1}}
+}
+\DeclareFieldFormat[patent]{number}{#1}
+\DeclareFieldFormat*{url}{%
+ \iffieldundef{urlyear}
+ {\mainlstring{urlalso}\addcolon\space\url{#1}}
+ {\mainlstring{urlfrom}\addcolon\space\url{#1}}
+}
+\DeclareFieldFormat{doi}{%
+ \printtext{DOI}\addcolon\space%
+ \ifhyperref
+ {\href{http://dx.doi.org/#1}{\nolinkurl{#1}}}
+ {\nolinkurl{#1}}
+}
+\DeclareFieldFormat{howpublished}{\mkbibbrackets{#1}}
+\DeclareFieldFormat[online]{howpublished}{%
+ \iffieldundef{howpublished}
+ {\mkbibbrackets{online}}
+ {\mkbibbrackets{#1}}
+}
+
+\DeclareFieldFormat{type}{%
+ \ifbibstring{#1}
+ {\mainlstring{#1}}
+ {#1}
+}
+
+\DeclareFieldFormat{supervisor}{%
+ \mainlstring{bysupervisor}\addspace#1}
+
+%We must handle more than one isbn and issn
+\DeclareFieldFormat{isbn}{%
+%\renewcommand*{\do}[1]{\printtext{ISBN}\addspace#1\adddot\addspace}%
+\printtext{ISBN}\addspace#1}%
+
+\DeclareFieldFormat{issn}{%
+\renewcommand*{\do}[1]{\printtext{ISSN}\addspace#1\adddot\addspace}%
+\docsvfield{issn}}%
+
+\DeclareFieldFormat{isan}{\printtext{ISAN}\addspace#1}
+\DeclareFieldFormat{ismn}{\printtext{ISMN}\addspace#1}
+\DeclareFieldFormat{isrn}{\printtext{ISRN}\addspace#1}
+\DeclareFieldFormat{iswc}{\printtext{ISWC}\addspace#1}
+
+\DeclareFieldFormat{urldate}{\mkbibbrackets{\mainsstring{urlseen}\space#1}}
+
+\DeclareFieldFormat{chapter}{\bibstring{chapter}\addnbspace#1\isdot}
+\DeclareFieldFormat{version}{%
+ \ifnumeral{#1}%
+ {\biblstring{version}\addnbspace#1}%
+ {\MakeCapital{#1}}%
+}
+
+\DeclareFieldFormat{library}{#1}
+
+\DeclareFieldFormat{journaltitle}{#1}
+\DeclareFieldFormat{booktitle}{#1}
+\DeclareFieldFormat{maintitle}{#1}
+\DeclareFieldFormat{issuetitle}{#1}
+\DeclareFieldFormat{journalsubtitle}{#1}
+\DeclareFieldFormat{booksubtitle}{#1}
+\DeclareFieldFormat{mainsubtitle}{#1}
+\DeclareFieldFormat{issuesubtitle}{#1}
+
+\DeclareFieldFormat{titleaddon}{\mkbibbrackets{#1}}
+\DeclareFieldFormat{booktitleaddon}{\mkbibbrackets{#1}}
+\DeclareFieldFormat{maintitleaddon}{\mkbibbrackets{#1}}
+
+\DeclareFieldFormat{nameaddon}{\mkbibbrackets{#1}}
+
+%name alias
+
+\DeclareNameAlias{default}{last-first}
+\DeclareNameAlias{supervisor}{first-last}
+
+%bibliography macros
+
+%names
+
+% based on author/editor macro
+\newbibmacro*{names:primary}{%
+ \ifboolexpr{
+ test \ifuseauthor
+ and
+ not test {\ifnameundef{author}}
+ }
+ {\usebibmacro{author}}
+ {\usebibmacro{editor}}%
+ \setunit{\addspace}\printfield{nameaddon}%
+}
+
+\newbibmacro*{names:subsidiary}{%
+ \usebibmacro{byeditor}%
+ \newunit%
+ \usebibmacro{bytranslator}%
+}
+
+\renewbibmacro*{editor}{%
+ \ifboolexpr{
+ test \ifuseeditor
+ and
+ not test {\ifnameundef{editor}}
+ }
+ {\printnames{editor}%
+ \addspace%
+ \mkbibparens{\usebibmacro{editorstrg}}%
+ \clearname{editor}}%
+ {}}
+
+\newbibmacro*{thesissupervisor}{%
+ \ifnameundef{supervisor}
+ {}
+ {\printtext{\mainlstring{bysupervisor}}%
+ \addspace%
+ \printnames{supervisor}}
+}
+
+%titles
+
+\newbibmacro{titles}[2]{%
+ \ifboolexpr{
+ test {\iffieldundef{#1title}}
+ and
+ test {\iffieldundef{#1subtitle}}}
+ {}
+ {\printtext[#2]{%
+ \printfield{#1title}%
+ \setunit{\subtitlepunct}%
+ \printfield{#1subtitle}}%
+ \setunit{\addspace}}%
+ \printfield{#1titleaddon}%
+ \newunit%
+}%
+
+\newbibmacro{volume}{%
+ \iffieldundef{volume}
+ {}
+ {\printfield{volume}%
+ \printfield{part}%
+ \setunit{\addcomma\addspace}}%
+}
+
+\newbibmacro{multi:titles}{%
+ \iffieldundef{maintitle}
+ {\iffieldundef{booktitle}
+ {\usebibmacro{titles}{}{emph}}
+ {\usebibmacro{titles}{book}{emph}%
+ \usebibmacro{volume}%
+ \usebibmacro{titles}{}{}}}%
+ {\usebibmacro{titles}{main}{emph}%
+ \usebibmacro{volume}%
+ \usebibmacro{titles}{}{}}%
+}
+
+\newbibmacro{host:titles}{%
+ \iffieldundef{maintitle}
+ {\iffieldundef{booktitle}
+ {}
+ {\usebibmacro{titles}{book}{emph}}}
+ {\usebibmacro{titles}{main}{emph}}%
+}%
+
+\newbibmacro{periodical:titles}{%
+ \usebibmacro{titles}{}{emph}%
+ \newunit%
+ \iffieldundef{issuetitle}
+ {\iffieldundef{journaltitle}
+ {}
+ {\usebibmacro{titles}{journal}{}}}
+ {\usebibmacro{titles}{issue}{}}%
+}
+
+%medium type
+
+\newbibmacro*{medium-type}{%
+ \iffieldundef{howpublished}
+ {\iffieldundef{urlyear}
+ {}
+ {\printtext{\mkbibbrackets{online}}}}
+ {\printfield{howpublished}}%
+}
+
+%publication info
+
+\newbibmacro{fulldate}{%
+ \printtext{\csname mkbibrangeiso8601\endcsname{\thefield{date}}}%
+}
+
+\renewbibmacro*{date}{%
+ \iffieldequalstr{endyear}{}%
+ {\printdate\mbox{\addnbspace}}%
+ {\printdate}%
+}
+
+\newbibmacro*{location+publisher+date}{%
+ \printlist{location}%
+ \iflistundef{publisher}
+ {\setunit*{\addcomma\space}}%
+ {\setunit*{\subtitlepunct}}%
+ \printlist{publisher}%
+ \setunit*{\addcomma\space}%
+ \usebibmacro{date}%
+ \newunit}
+
+%numeration
+
+\newbibmacro*{serial:numeration}{%
+ \printfield{volume}%
+ \iftoggle{bbx:shortnum}
+ {}
+ {\setunit*{\addcomma\addspace}}%
+ \printfield{number}%
+}
+
+\newbibmacro*{book:numeration}{%
+ \printfield{volume}%
+ \setunit*{\addcomma\addspace}%
+ \printfield{chapter}%
+}
+
+%series title and number
+
+\newbibmacro*{series+number}{%
+ \printfield{series}%
+ \setunit*{\addcomma\space}%
+ \printfield{number}%
+}%
+
+%standard identifiers
+
+\newbibmacro*{identifier}{%
+ \printfield{isan}%
+ \newunit%
+ \printfield{isbn}%
+ \newunit%
+ \printfield{ismn}%
+ \newunit%
+ \printfield{isrn}%
+ \newunit%
+ \printfield{issn}%
+ \newunit%
+ \printfield{iswc}%
+ \newunit%
+}
+
+%availability and access
+
+\newbibmacro*{from-doi}{%
+ \mainlstring{urlfrom}\addspace\printfield{doi}%
+}
+
+\newbibmacro*{from-eprint}{%
+ \mainlstring{urlfrom}\addspace\usebibmacro{eprint}%
+}
+
+\newbibmacro*{availability+access}{%
+ \iffieldundef{doi}
+ {\iffieldundef{eprint}
+ {\printfield{url}}
+ {\usebibmacro{from-eprint}}}
+ {\usebibmacro{from-doi}}%
+}
+
+%location
+
+\newbibmacro*{location}{%
+ \iffieldundef{library}
+ {}
+ {\usebibmacro{at:}%
+ \printfield{library}}%
+}
+
+%other
+
+% 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
+
+\renewbibmacro*{in:}{%
+ \printtext{\mainsstring{in}\intitlepunct}%
+}
+
+\newbibmacro*{at:}{%
+ \printtext{\mainsstring{at}\intitlepunct}%
+}
+
+%biblatex core
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% overriding bookpagination to use document main language
+
+\newrobustcmd*{\blx@imc@mkmlpagetotal}[1][bookpagination]{%
+ \begingroup
+ \def\blx@tempa{\blx@mkmlpagetotal{page}}%
+ \iffieldundef{#1}
+ {}
+ {\iffieldequalstr{#1}{none}
+ {\def\blx@tempa{\blx@mkmlpagetotal@i}}
+ {\iffieldbibstring{#1}
+ {\edef\blx@tempa{\blx@mkmlpagetotal{\thefield{#1}}}}
+ {\blx@warning@entry{%
+ Unknown pagination type '\strfield{#1}'}}}}%
+ \@ifnextchar[%]
+ {\blx@tempa}
+ {\blx@tempa[\@firstofone]}}
+
+\protected\long\def\blx@mkmlpagetotal#1[#2]#3{%
+ \ifnumeral{#3}
+ {\setbox\@tempboxa=\hbox{%
+ \blx@tempcnta0#3\relax
+ \ifnum\blx@tempcnta=\@ne
+ \aftergroup\@firstoftwo
+ \else
+ \aftergroup\@secondoftwo
+ \fi}%
+ {#2{#3}\ppspace\mainsstring{#1}}
+ {#2{#3}\ppspace\mainsstring{#1s}}}
+ {\def\pno{\mainsstring{#1}}%
+ \def\ppno{\mainsstring{#1s}}%
+ #2{#3}}%
+ \endgroup}
+
+\long\def\blx@mkmlpagetotal@i[#1]#2{#1{#2}\endgroup}
+
+\blx@regimcs{\mkmlpagetotal}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% overriding pagination to use document main language
+
+\newrobustcmd*{\blx@imc@mkmlpageprefix}[1][pagination]{%
+ \begingroup
+ \def\blx@tempa{\blx@mkmlpageprefix{page}}%
+ \iffieldundef{#1}
+ {}
+ {\iffieldequalstr{#1}{none}
+ {\def\blx@tempa{\blx@mkmlpageprefix@i}}
+ {\iffieldbibstring{#1}
+ {\edef\blx@tempa{\blx@mkmlpageprefix{\thefield{#1}}}}
+ {\blx@warning@entry{%
+ Unknown pagination type '\strfield{#1}'}}}}%
+ \@ifnextchar[%]
+ {\blx@tempa}
+ {\blx@tempa[\@firstofone]}}
+
+\protected\long\def\blx@mkmlpageprefix#1[#2]#3{%
+ \ifnumeral{#3}
+ {\mainsstring{#1}\ppspace}
+ {\ifnumerals{#3}
+ {\mainsstring{#1s}\ppspace}
+ {\def\pno{\mainsstring{#1}}%
+ \def\ppno{\mainsstring{#1s}}}}%
+ \blx@mkmlpageprefix@i[#2]{#3}}
+
+\long\def\blx@mkmlpageprefix@i[#1]#2{#1{#2}\endgroup}
+
+\blx@regimcs{\mkmlpageprefix}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% use space punctuation
+
+% see biblatex2.sty for these macros
+\blx@regimcs{% let biblatex know the new macros
+ \addspcolon }%
+\def\blx@addsppunct#1{% <---- new name for spaced punctuation
+ %\unspace <----- commented out
+ \ifnum\blx@spacefactor<\blx@sf@threshold@low
+ \csuse{blx@qp@#1}\csuse{abx@#1}%
+ \else%
+ \ifnum\blx@spacefactor>\blx@sf@threshold@high
+ \csuse{blx@qp@#1}\csuse{abx@#1}%
+ \else%
+ \ifcsdef{blx@pp@\the\csname blx@sf@#1\endcsname @\blx@spacefactor}%
+ {\csuse{blx@qp@#1}\csuse{abx@#1}}%
+ {\csuse{blx@qp@#1}}%%
+ \fi%
+ \fi%
+ \csuse{blx@pq@#1}}%
+
+%bibliography drivers
+
+\DeclareBibliographyDriver{book}{%
+\usebibmacro{bibindex}%
+\usebibmacro{begentry}%
+\usebibmacro{names:primary}%
+\setunit{\labelnamepunct}\newblock%
+\usebibmacro{multi:titles}%
+\setunit{\addspace}%
+\usebibmacro{medium-type}%
+\newunit\newblock%
+\printfield{edition}%
+\newunit\newblock%
+\usebibmacro{names:subsidiary}%
+\newunit\newblock%
+\usebibmacro{location+publisher+date}%
+\newunit%
+\printfield{version}%
+\setunit{\addspace}%
+\usebibmacro{urldate}%
+\newunit\newblock%
+\usebibmacro{series+number}%
+\newunit\newblock%
+\usebibmacro{identifier}%
+\newunit\newblock%
+\usebibmacro{availability+access}%
+\newunit\newblock%
+\usebibmacro{location}%
+\setunit{\addspace}%
+\iftoggle{bbx:totalpages}
+ {\printfield{pagetotal}}
+ {}%
+\newunit\newblock%
+\printfield{note}%
+\newunit\newblock%
+\setunit{\bibpagerefpunct}\newblock%
+\usebibmacro{pageref}%
+\usebibmacro{finentry}}%
+
+\DeclareBibliographyDriver{periodical}{%
+\usebibmacro{bibindex}%
+\usebibmacro{begentry}%
+% names macro just because of author-year style
+\usebibmacro{names:primary}%
+\setunit{\labelnamepunct}\newblock%%
+\usebibmacro{periodical:titles}%
+\setunit{\addspace}%
+\usebibmacro{medium-type}%
+\newunit\newblock
+\printfield{edition}%
+\newunit\newblock%
+\usebibmacro{location+publisher+date}%
+\setunit*{\addcomma\addspace}%
+\usebibmacro{serial:numeration}%
+\setunit{\addspace}%
+\usebibmacro{urldate}%
+\newunit\newblock%
+\usebibmacro{identifier}%
+\newunit\newblock%
+\usebibmacro{availability+access}%
+\newunit\newblock%
+\usebibmacro{location}%
+\newunit\newblock%
+\printfield{note}%
+\newunit\newblock%
+\setunit{\bibpagerefpunct}\newblock%
+\usebibmacro{pageref}%
+\usebibmacro{finentry}}%
+
+\DeclareBibliographyDriver{article}{%
+\usebibmacro{bibindex}%
+\usebibmacro{begentry}%
+\usebibmacro{names:primary}%
+\setunit{\labelnamepunct}\newblock%
+\usebibmacro{titles}{}{}%
+\newunit\newblock%
+\usebibmacro{titles}{journal}{emph}%
+\setunit{\addspace}%
+\usebibmacro{medium-type}%
+\newunit\newblock%
+\printfield{edition}%
+\newunit\newblock%
+\usebibmacro{date}
+\setunit*{\addcomma\addspace}%
+\usebibmacro{serial:numeration}%
+\setunit{\bibpagespunct}%
+\printfield{pages}%
+\setunit{\addspace}%
+\usebibmacro{urldate}%
+\newunit\newblock%
+\usebibmacro{identifier}%
+\newunit\newblock%
+\usebibmacro{availability+access}%
+\newunit\newblock%
+\usebibmacro{location}%
+\newunit\newblock%
+\printfield{note}%
+\setunit{\bibpagerefpunct}\newblock%
+\usebibmacro{pageref}%%
+\usebibmacro{finentry}}%
+
+\DeclareBibliographyDriver{inbook}{%
+\usebibmacro{bibindex}%
+\usebibmacro{begentry}%
+\usebibmacro{names:primary}%
+\setunit{\labelnamepunct}\newblock%
+\usebibmacro{titles}{}{}%
+\newunit\newblock%
+\usebibmacro{in:}%
+\printnames{bookauthor}%
+\newunit\newblock%
+\usebibmacro{host:titles}%
+\setunit{\addspace}%
+\usebibmacro{medium-type}%
+\newunit\newblock%
+\printfield{edition}%
+\newunit\newblock%
+\usebibmacro{names:subsidiary}%
+\newunit\newblock%
+\usebibmacro{location+publisher+date}%
+\setunit*{\addcomma\addspace}%
+\usebibmacro{book:numeration}%
+\setunit{\bibpagespunct}%
+\printfield{pages}%
+\newunit%
+\printfield{version}%
+\setunit{\addspace}%
+\usebibmacro{urldate}%
+\newunit\newblock%
+\usebibmacro{series+number}%
+\newunit\newblock%
+\usebibmacro{identifier}%
+\newunit\newblock%
+\usebibmacro{availability+access}%
+\newunit\newblock%
+\usebibmacro{location}%
+\newunit\newblock%
+\printfield{note}%
+\newunit\newblock%
+\setunit{\bibpagerefpunct}\newblock%
+\usebibmacro{pageref}%
+\usebibmacro{finentry}}%
+
+\DeclareBibliographyDriver{incollection}{%
+\usebibmacro{bibindex}%
+\usebibmacro{begentry}%
+\usebibmacro{names:primary}%
+\setunit{\labelnamepunct}\newblock%
+\usebibmacro{titles}{}{}%
+\newunit\newblock%
+\usebibmacro{in:}%
+\usebibmacro{editor}%
+\newunit\newblock%
+\usebibmacro{host:titles}%
+\setunit{\addspace}%
+\usebibmacro{medium-type}%
+\newunit\newblock%
+\printfield{edition}%
+\newunit\newblock%
+\usebibmacro{names:subsidiary}%
+\newunit\newblock%
+\usebibmacro{location+publisher+date}%
+% could number be even used in `incollection`?
+% It should be at some other place in this case
+\setunit*{\addcomma\addspace}%
+\usebibmacro{book:numeration}%
+\setunit{\bibpagespunct}%
+\printfield{pages}%
+\newunit%
+\printfield{version}%
+\setunit{\addspace}%
+\usebibmacro{urldate}%
+\newunit\newblock%
+\usebibmacro{series+number}%
+\newunit\newblock%
+\usebibmacro{identifier}%
+\newunit\newblock%
+\usebibmacro{availability+access}%
+\newunit\newblock%
+\usebibmacro{location}%
+\newunit\newblock%
+\printfield{note}%
+\newunit\newblock%
+\setunit{\bibpagerefpunct}\newblock%
+\usebibmacro{pageref}%
+\usebibmacro{finentry}}%
+
+\DeclareBibliographyDriver{online}{%
+\usebibmacro{bibindex}%
+\usebibmacro{begentry}%
+\usebibmacro{names:primary}%
+\setunit{\labelnamepunct}\newblock%
+\usebibmacro{multi:titles}%
+\setunit{\addspace}%
+\usebibmacro{medium-type}%
+\newunit\newblock%
+\printfield{edition}%
+\newunit\newblock%
+\usebibmacro{names:subsidiary}%
+\newunit\newblock%
+\usebibmacro{location+publisher+date}%
+\newunit%
+\printfield{version}%
+\setunit{\addspace}%
+\usebibmacro{urldate}%
+\newunit\newblock%
+\usebibmacro{series+number}%
+\newunit\newblock%
+\usebibmacro{identifier}%
+\newunit\newblock%
+\usebibmacro{availability+access}%
+\setunit{\addspace}%
+\iftoggle{bbx:totalpages}
+ {\printfield{pagetotal}}
+ {}%
+\printfield{note}%
+\newunit\newblock%
+\setunit{\bibpagerefpunct}\newblock%
+\usebibmacro{pageref}%%
+\usebibmacro{finentry}}%
+
+\DeclareBibliographyDriver{thesis}{%
+\usebibmacro{bibindex}%
+\usebibmacro{begentry}%
+\usebibmacro{names:primary}%
+\setunit{\labelnamepunct}\newblock%%
+\usebibmacro{titles}{}{emph}%
+\setunit{\addspace}%
+\usebibmacro{medium-type}%
+\newunit\newblock%
+\usebibmacro{location+publisher+date}%
+\newunit%
+\printfield{version}%
+\setunit{\addspace}%
+\usebibmacro{urldate}%
+\newunit\newblock%
+\usebibmacro{identifier}%
+\newunit\newblock%
+\iftoggle{bbx:thesisinfolast}
+ {}
+ {\printfield{type}
+ \newunit\newblock%
+ \printlist{institution}%
+ \newunit\newblock%
+ \usebibmacro{thesissupervisor}}%
+\newunit\newblock%
+\usebibmacro{availability+access}
+\setunit{\addspace}%
+\iftoggle{bbx:totalpages}
+ {\printfield{pagetotal}}
+ {}%
+\newunit\newblock%
+\iftoggle{bbx:thesisinfolast}
+ {\printfield{type}
+ \newunit\newblock%
+ \printlist{institution}%
+ \newunit\newblock%
+ \usebibmacro{thesissupervisor}}
+ {}%
+\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%%
+\usebibmacro{titles}{}{emph}%
+\newunit\newblock%
+\usebibmacro{names:subsidiary}%
+\newunit\newblock%
+\printfield{classification}%
+\newunit\newblock%
+\printlist{location}%
+\newunit\newblock%
+\iffieldundef{type}
+ {}
+ {\printfield{type}%
+ \setunit*{\addcomma\space}}%
+\printfield{number}%
+\newunit\newblock%
+\usebibmacro{fulldate}%
+\setunit{\addspace}%
+\usebibmacro{urldate}%
+\newunit\newblock%
+\printfield{note}%
+\newunit\newblock%
+\usebibmacro{availability+access}%
+\newunit\newblock%
+\setunit{\bibpagerefpunct}\newblock%
+\usebibmacro{pageref}%
+\usebibmacro{finentry}}%
+
+%bibliography aliases
+
+\DeclareBibliographyAlias{bookinbook}{inbook}
+\DeclareBibliographyAlias{suppbook}{inbook}
+\DeclareBibliographyAlias{booklet}{book}
+\DeclareBibliographyAlias{collection}{book}
+\DeclareBibliographyAlias{suppcollection}{incollection}
+\DeclareBibliographyAlias{manual}{book}
+\DeclareBibliographyAlias{misc}{book}
+\DeclareBibliographyAlias{suppperiodical}{article}
+\DeclareBibliographyAlias{proceedings}{collection}
+\DeclareBibliographyAlias{inproceedings}{incollection}
+\DeclareBibliographyAlias{reference}{collection}
+\DeclareBibliographyAlias{inreference}{incollection}
+\DeclareBibliographyAlias{report}{thesis}
+\DeclareBibliographyAlias{unpublished}{book}
+\DeclareBibliographyAlias{*}{misc}
+
+\endinput
+
+% vim: ft=tex