diff options
author | Karl Berry <karl@freefriends.org> | 2020-05-26 21:31:15 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-05-26 21:31:15 +0000 |
commit | 541682dd2c08c02da8f18457ba250167a2c37ef9 (patch) | |
tree | 94671e35eae1e7f6dedc067d6ac447b57a0b5e45 /Master/texmf-dist/tex/latex/biblatex-unified/unified.bbx | |
parent | 577026b5c0f1eb805d9298f80fbd68882898f0ba (diff) |
biblatex-unified (26may20)
git-svn-id: svn://tug.org/texlive/trunk@55290 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-unified/unified.bbx')
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex-unified/unified.bbx | 733 |
1 files changed, 733 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-unified/unified.bbx b/Master/texmf-dist/tex/latex/biblatex-unified/unified.bbx new file mode 100644 index 00000000000..bb278b4a1cb --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-unified/unified.bbx @@ -0,0 +1,733 @@ +%% --------------------------------------------------------------- +%% biblatex-unified --- A biblatex implementation of the Unified Style +%% Sheet for Linguistics Journals. This is the house style of the +%% journal "Semantics & Pragmatics" (A journal of the Linguistic +%% Society of America). +%% Maintained by Kai von Fintel (fintel@mit.edu) +%% Released under the LaTeX Project Public License v1.3c or later +%% See http://www.latex-project.org/lppl.txt +%% --------------------------------------------------------------- +%% + +\ProvidesFile{unified.bbx}[2020/06/25 v1.00 biblatex bibliography style] + +% biblatex by default calls biblatex.def, we add to this authoryear.bbx, which +% in turn loads standard.bbx. So, unified.bbx is built on top of those styles; +% once authoryear.bbx is loaded, we tell it not to put in dashes for repeated +% authors (in accordance with the Unified Stylesheet) + +\RequireBibliographyStyle{authoryear} +\ExecuteBibliographyOptions{dashed=false,isbn=false,eprint=false} + +% NB: The Unified Style Sheet wants abbreviated "ed(s)", "edn". But using the +% abbreviate option also abbreviates the names of months. But then +% dateabbrev=false restores the long names of months + +% biblatex has a "useprefix" option, which makes "von" count for +% alphabetization; the Unified Stylesheet does not want that, so it is important +% that this option be disabled (even if an author tries to set it to true) + +\ExecuteBibliographyOptions{% + sorting=nyt,abbreviate,dateabbrev=false,useprefix=false} + +% For backward compatibility: choose labeldate or labeldateparts +% depending on the biblatex version +\@ifpackagelater{biblatex}{2016/09/09} {% + \ExecuteBibliographyOptions{labeldateparts}} {% + \ExecuteBibliographyOptions{labeldate} + \def\printlabeldateextra{\printdateextralabel} }% + +% If an @article entry contains Issuetitle and Editor information, we +% might not want to print it. The Unified Style Sheet does not offer +% explicit guidelines on this, but they don't have any examples where +% either of these pieces of information are actually printed. +% Therefore, we can offer an option for the user to decide whether to +% print it. The default will be not to print it since the Unified +% Style Sheet does not have examples where this information is +% printed. The user can print it by setting `issueandeditor=true` as a +% package option when biblatex is called. + +\newtoggle{issueandeditor} +\DeclareBibliographyOption{issueandeditor}[false]{% + \settoggle{issueandeditor}{#1}} + +% Formatting directives for name lists +% ------------------------------------------------------------------ +% +% In biblatex.def, there are name formats defined: first-last, last-first, +% last-first/first-last. They could be simplified (we don't need provisions for +% using initials only, since the Unified Style doesn't do that), but since +% biblatex.def is loaded automatically, there's no point. The name formats call +% bibmacros that figure out how to order the internal of name components. These +% are re-defined here to make sure that "von" is treated as part of the last +% name (it still doesn't count for sorting -- which is controlled by the +% \useprefix package option) name:last is used to produce citation labels +% name:last-first is used to produce the first author's name listing in the +% alphabetical bibliography + +% Also moved the Jr part to after the first name and inserted another comma, +% because the Unified Stylesheet disagrees with standard.bbx: it wants "Jr." not +% to be treated as part of the last name. + +% The macros here get 4 arguments passed to them. They are: #1 last name, #2 +% first name, #3 von, #4 Jr. + +% In biblatex v3.3 and onwards, the name formatting has changed in a big way. +% See for example: +% http://tex.stackexchange.com/questions/299036/biblatex-3-3-name-formatting, +% https://github.com/plk/biblatex/issues/372, and +% http://www.texdev.net/2016/03/13/biblatex-a-new-syntax-for-declarenameformat/. +% The name formats in biblatex.def are not called first-last etc. anymore but +% given-family etc. And while there are safeguard legacy aliases +% (\DeclareNameAlias{first-last}{given-family}, for example), the new formats +% then use macros like \usebibmacro{name:family-given}, which of course our old +% redefinitions didn't adjust. So, for newer biblatex, we need to do new +% versions of \renewbibmacro{name:...}. + +%% Redefinitions of name:last and name:last-first for biblatex versions before +%% v3.3 + +\renewbibmacro*{name:last}[4]{% + \usebibmacro{name:delim}{#3#1}% + \usebibmacro{name:hook}{#3#1}% + \ifblank{#3} + {} + {\ifcapital + {\mkbibnameprefix{\MakeCapital{#3}}\isdot} + {\mkbibnameprefix{#3}\isdot}% + \ifpunctmark{'}{}{\bibnamedelimc}}% + \mkbibnamelast{#1}}% + +\renewbibmacro*{name:last-first}[4]{% + \usebibmacro{name:delim}{#3#1}% + \usebibmacro{name:hook}{#3#1}% + \ifblank{#3}{}{% + \mkbibnameprefix{#3}\isdot% + \ifpunctmark{'}{}{\bibnamedelimc}}% + \mkbibnamelast{#1}\isdot + \ifblank{#2}{}{\addcomma\bibnamedelimd\mkbibnamefirst{#2}\isdot}% + \ifblank{#4}{}{\addcomma\bibnamedelimd\mkbibnameaffix{#4}\isdot}} + +%% Redefinitions of name:family and name:family-given for biblatex ever since +%% v3.3 + +\renewbibmacro*{name:family}[4]{% + \usebibmacro{name:delim}{#3#1}% + \usebibmacro{name:hook}{#3#1}% + \ifdefvoid{#3} + {} + {\ifcapital + {\mkbibnameprefix{\MakeCapital{#3}}\isdot} + {\mkbibnameprefix{#3}\isdot}% + \ifprefchar{}{\bibnamedelimc}}% + \mkbibnamefamily{#1}\isdot}% + +\renewbibmacro*{name:family-given}[4]{% + \usebibmacro{name:delim}{#3#1}% + \usebibmacro{name:hook}{#3#1}% + \ifdefvoid{#3} + {} + {\mkbibnameprefix{#3}\isdot% + \ifprefchar{}{\bibnamedelimc}}% + \mkbibnamefamily{#1}\isdot + \ifdefvoid{#2} + {} + {\revsdnamepunct\bibnamedelimd\mkbibnamegiven{#2}\isdot}% + \ifdefvoid{#4} + {} + {\addcomma\bibnamedelimd\mkbibnamesuffix{#4}\isdot}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Various bibmacros used in producing the bibliography +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% We use `date+extradate` but biblatex versions before 3.8 didn't have that +% macro. Older versions were smart enough to complain about `\renewmacro` and +% use `\newmacro` instead. But the following construction works for both cases + +\providebibmacro{date+extradate}{} +\renewbibmacro*{date+extradate}{% + \iffieldundef{labelyear} {} + {\printtext{\printlabeldateextra}}}% Took out parentheses around the year + +\renewbibmacro*{author}{% + \ifboolexpr{ + test \ifuseauthor + and + not test {\ifnameundef{author}} + } + {\usebibmacro{bbx:dashcheck} + {\bibnamedash} + {\usebibmacro{bbx:savehash}% + \printnames{author}% + \iffieldundef{authortype} + {\newunit}% period instead of space + {\setunit{\addcomma\space}}}% + \iffieldundef{authortype} + {} + {\usebibmacro{authorstrg}% + \newunit}}% period instead of space + {\global\undef\bbx@lasthash + \usebibmacro{labeltitle}% + \newunit}% period instead of space + \usebibmacro{date+extradate}} + +\renewbibmacro*{editor}{% + \usebibmacro{bbx:editor}{editorstrg}} +\renewbibmacro*{editor+others}{% + \usebibmacro{bbx:editor}{editor+othersstrg}} +\renewbibmacro*{bbx:editor}[1]{% + \ifboolexpr{ + test \ifuseeditor + and + not test {\ifnameundef{editor}} + } + {\usebibmacro{bbx:dashcheck} + {\bibnamedash} + {\printnames{editor}% + \setunit{\addspace}% + \usebibmacro{bbx:savehash}}% + \printtext[parens]{\usebibmacro{#1}}% + \clearname{editor}% + \newunit}% period instead of space + {\global\undef\bbx@lasthash + \usebibmacro{labeltitle}% + \newunit}% period instead of space + \usebibmacro{date+extradate}} + +\renewbibmacro*{translator}{% + \usebibmacro{bbx:translator}{translatorstrg}} +\renewbibmacro*{translator+others}{% + \usebibmacro{bbx:translator}{translator+othersstrg}} +\renewbibmacro*{bbx:translator}[1]{% + \ifboolexpr{ + test \ifusetranslator + and + not test {\ifnameundef{translator}} + } + {\usebibmacro{bbx:dashcheck} + {\bibnamedash} + {\printnames{translator}% + \setunit{\addcomma\space}% + \usebibmacro{bbx:savehash}}% + \usebibmacro{translator+othersstrg}% + \clearname{translator}% + \newunit}% period instead of space + {\global\undef\bbx@lasthash + \usebibmacro{labeltitle}% + \newunit}% period instead of space + \usebibmacro{date+extradate}} + +\renewbibmacro*{journal}{% + \iffieldundef{journaltitle} + {} + {\printtext{% + \printfield{journaltitle}% + \setunit{\subtitlepunct}% + \printfield{journalsubtitle}}}} + +\newbibmacro*{journal+issuetitle+editor}{% + \usebibmacro{journal}% + \setunit*{\addspace}% + \iffieldundef{series} + {} + {\newunit + \printfield{series}% + \setunit{\addspace}}% + \usebibmacro{volume+number+eid}% + \iftoggle{issueandeditor} + {\setunit{\addspace}% + \usebibmacro{issue+date}% + \setunit{\addcolon\space}% + \usebibmacro{issue} + % The following three lines were originally not included inside of + % the journal+issuetitle bibmacro. They have been moved inside of + % this macro in order to allow them to be controlled by the toggle + % `issuetitle` that is defined at the top of this style file. + \newunit + \usebibmacro{byeditor+others}% + \newunit} + {}% + \newunit} + +% The next three bib macros are for printing the maintitle and +% booktitle fields of an @inproceedings entry with an ISSN as an +% article in accordance with the unified style sheet guidelines. + +% 1. maintitle + +\newbibmacro*{unified:proc-as-article:maintitle}{% + \ifboolexpr{ + test {\iffieldundef{maintitle}} + and + test {\iffieldundef{mainsubtitle}} + } + {} + {\printtext{% + \printfield[maintitle]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[maintitle]{mainsubtitle}}% + \newunit}% + \printfield{maintitleaddon}} + +% 2. booktitle + +\newbibmacro*{unified:proc-as-article:booktitle}{% + \ifboolexpr{ + test {\iffieldundef{booktitle}} + and + test {\iffieldundef{booksubtitle}} + } + {} + {\printtext{% + \printfield[booktitle]{booktitle}% + \setunit{\subtitlepunct}% + \printfield[booktitle]{booksubtitle}}% + \newunit}% + \printfield{booktitleaddon}} + +% 3. maintitle+booktitle + +\newbibmacro*{unified:proc-as-article:maintitle+booktitle}{% + \iffieldundef{maintitle} + {} + {\usebibmacro{unified:proc-as-article:maintitle}% + \newunit\newblock} + \usebibmacro{unified:proc-as-article:booktitle}% + \setunit{\addspace}} + +\renewbibmacro*{volume+number+eid}{% + \printfield{volume}% +% \setunit*{\adddot}% + \printfield[parens]{number}% parentheses instead of dot before issue number + \setunit{\addcomma\space}% + \printfield{eid}} + +% This is for printing the volume field of a proceedings with an ISSN +% as an article in accordance with the unified style sheet guidelines. +% It depends on the declared field format below. + +\newbibmacro*{unified:proc-as-article:volume+number+eid}{% + \printfield[volume:unified:proc-as-article]{volume}% + \printfield[parens]{number}% + \setunit{\addcomma\space}% + \printfield{eid}} + +% Because of the weird format "3 May, 2007" specified in the Unified +% Stylesheet for URL access dates, we need a special way to format the +% urldate + +\newcommand{\mkbibdateunified}[3]{% Year-Month-Day as input --> xx Month, Year + \iffieldundef{#3} + {} + {\stripzeros{\thefield{#3}}% + \nobreakspace}% + \iffieldundef{#2} + {\iffieldundef{#1}% + {}% + {\stripzeros{\thefield{#1}}}}% + {\mkbibmonth{\thefield{#2}}% + \iffieldundef{#1}% + {}% + {\iffieldundef{#3}% + {}% + {,}% + \space\stripzeros{\thefield{#1}}}% + }% + }% + +\renewbibmacro*{url+urldate}{% + \printfield{url}% + \iffieldundef{urlyear}% + {}% + {\setunit*{\addspace}% + \printtext[parens]{\mkbibdateunified{urlyear}{urlmonth}{urlday}}}% + } + +\renewbibmacro*{series+number}{% + \iffieldundef{series} + {} + {\printtext[parens]{% + \printfield{series}% + \setunit*{\addspace}% + \printfield{number}}% + }} + +\renewbibmacro*{byeditor+others}{% + \ifnameundef{editor} + {} + {\printnames[byeditor]{editor}% + \setunit{\addspace}% + \printtext[parens]{\usebibmacro{editor+othersstrg}}% + \clearname{editor}% + \newunit}% + \usebibmacro{byeditorx}% + \usebibmacro{bytranslator+others}} + +\renewbibmacro*{chapter+pages}{% + \iffieldundef{chapter}% + {}% + {\printfield{chapter}% + \setunit{\addcomma\space}}% + \printfield{pages}% + \newunit} + +\renewbibmacro*{note+pages}{% + \iffieldundef{note}% + {}% + {\printfield{note}% + \setunit{\addcomma\space}}% + \printfield{pages}% + \newunit} + +\newbibmacro*{institution+location+type+date}{% + \printlist{location}% + \iflistundef{institution} + {} + {\setunit*{\addcolon\space}}% + \printlist{institution}% + \setunit{\addspace}% + \printfield{type}% + \setunit*{\addcomma\space}% + \usebibmacro{date}% + \newunit} + +% The following is a hack to satisfy the Unified Stylesheet's decision +% to give the edition right after the OED as used as a sortlabel. + +\renewbibmacro*{labeltitle}{% + \iffieldundef{label} + {\iffieldundef{shorttitle} + {\printfield{title}% + \setunit{\addcomma\space}% Here it comes, preparing for the edition + \printfield{edition}% Here's the edition + \clearfield{title}% + \clearfield{edition}}% Clearing the edition field + {\printfield[title]{shorttitle}}} + {\printfield{label}}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Punctuation & formatting +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% This gets rid of the Oxford comma in name lists and uses the +% ampersand rather than "and": + +\renewcommand*{\finalnamedelim}{\addspace\&\addspace} +\renewcommand*{\finallistdelim}{\addspace\&\addspace} + +% no colon after "In" in incollection entries (overriding +% biblatex.def): + +\renewcommand{\intitlepunct}{\addspace} + +\renewcommand{\subtitlepunct}{\addcolon\space} + +% No comma before pages, just the usual new unit period + +\renewcommand*{\bibpagespunct}{\newunitpunct} + +\DefineBibliographyStrings{english}{% + edition = {edn\adddot}, + phdthesis = {dissertation}, +} + +% basically everything is in sentence case, other than journals and +% book series (recurring titles) + +\DeclareFieldFormat[% + article,book,collection,incollection,inproceedings,thesis,unpublished]% + {titlecase}{\MakeSentenceCase*{#1}}% + +% No quotes around titles + +\DeclareFieldFormat[% + article,inbook,incollection,inproceedings,patent,thesis,unpublished]% + {title}{#1} + +% Just like book titles, thesis titles are in italics + +\DeclareFieldFormat[thesis]{title}{\mkbibemph{#1}} + +\DeclareFieldFormat{pages}{#1} % no pp. prefix, took \mkpageprefix out [kvf] +\DeclareFieldFormat{doi}{% + \ifhyperref + {\href{https://doi.org/#1}{\nolinkurl{https://doi.org/#1}}} + {\nolinkurl{https://doi.org/#1}}} +\DeclareFieldFormat{url}{\url{#1}} + +% This is for printing the volume field of a proceedings with an ISSN +% as an article in accordance with the unified style sheet guidelines + +\DeclareFieldFormat{volume:unified:proc-as-article}{#1} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% The bibliography drivers, specifying the formats of each type of +% entry in the bibliography +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%% First, the entry types used in the Unified Test Bibliography. +%%% Could rely on standard.bbx for all others as a fallback. + +% For the article type, the only departure from standard.bbx is that +% we don't use a literal "In: " before the journal title; other +% formatting departures are done in the format specs and bibmacros + +\DeclareBibliographyDriver{article}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{bytranslator+others}% + \newunit\newblock + \printfield{version}% + \newunit\newblock + \usebibmacro{journal+issuetitle+editor}% + \newblock% \newblock ensures period before pages + \usebibmacro{note+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{issn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{book}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{maintitle+title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{edition}% + \newunit + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit + \printfield{volumes}% + \setunit{\addspace}% + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + +% Aliased to ensure no period between the title and the series. + +\DeclareBibliographyAlias{collection}{book} + +% @inbook entries look terrible as-is, and have fields very similar to +% @incollection anyway + +\DeclareBibliographyAlias{inbook}{incollection} + +\DeclareBibliographyAlias{incollection}{inproceedings} + +% Given the guidelines in the unified style sheet, we should print +% conference proceedings and working papers as @article's just in case +% the publication has an ISSN. So, rather than have users handle this +% in the database by changing the entry type, we can implement this by +% checking if the inproceedings entry has an ISSN. If the field is +% undefined, the driver will do what driver did for @inproceedings +% entries as of 512f11657199a6044f7663da454f3eac338bdbd5 except that +% \printlist{organization} and \newunit have been removed. On the +% other hand, if the ISSN field is not undefined, then we will do +% largely the exact same thing that we do in the @article driver, +% except that we use the two macros +% \usebibmacro{unified:proc-as-article:maintitle+booktitle} and +% \usebibmacro{unified:proc-as-article:volume+number+eid} instead of +% \usebibmacro{journal+issuetitle} and except that +% \usebibmacro{byeditor+others} has been removed so as to ensure that +% the editors are not listed even if they are present in the database. + +\DeclareBibliographyDriver{inproceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \iffieldundef{issn} + {\usebibmacro{author/translator+others}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{in:}% + \ifnameundef{editor} + {\setunit{\addspace}} + {\usebibmacro{byeditor+others}\setunit{\addcomma\space}} + \usebibmacro{maintitle+booktitle}% + \setunit{\addcomma\space} + \printfield{edition}% + \setunit{\addcomma\space} + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \setunit{\addcomma\space} + \printfield{volumes}% + \setunit{\addspace}% + \usebibmacro{series+number}% + \setunit{\addcomma\space} + \usebibmacro{chapter+pages}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}} + {\usebibmacro{author/translator+others}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{bytranslator+others}% + \newunit\newblock + \printfield{version}% + \newunit\newblock + \usebibmacro{unified:proc-as-article:maintitle+booktitle}% + \usebibmacro{unified:proc-as-article:volume+number+eid} + \newunit\newblock% + \usebibmacro{note+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{issn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}} + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{thesis}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{institution+location+type+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit + \printfield{pagetotal}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{unpublished}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\labelnamepunct}\newblock + \usebibmacro{title}% + \newunit + \printlist{language}% + \newunit\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{howpublished}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{location+date}% + \newunit\newblock + \iftoggle{bbx:url} + {\usebibmacro{url+urldate}} + {}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \newunit\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} |