% archaeologie --% % biblatex for archaeologists, % historians and philologists % Copyright (c) 2016 Lukas C. Bossert | Johannes Friedl % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 % of this license or (at your option) any later version. % The latest version of this license is in % http://www.latex-project.org/lppl.txt % and version 1.3 or later is part of all distributions of LaTeX % version 2005/12/01 or later. \ProvidesFile{archaeologie.bbx}% [2016/06/06 v2.0 archaeologie -- biblatex for archaeologists, historians and philologists, bbx-file] \RequireBibliographyStyle{standard} \AtBeginDocument{% \urlstyle{sf}% \typeout{* * * archaeologie * * * biblatex for archaeologists, historians and philologists} } \ExecuteBibliographyOptions{% pagetracker=true,% citecounter=true,% giveninits=true,% sortlocale=auto,% language=auto,% autolang=other,% bibencoding=utf8,% dateabbrev=false, % sorting=nyt,% maxnames=2,% minnames=1,% maxitems=1,% maxbibnames=999,% } %----------------------- \newbool{bbx:edby} \newbool{bbx:width} \newbool{bbx:yearseries} \newbool{bbx:bibfullname} \newbool{bbx:inreferences} \newbool{bbx:noabbrv} \newbool{bbx:translation} \newbool{bbx:publisher} \newbool{bbx:initials} \newbool{bbx:counter} \newbool{cbx:ancient} \newbool{cbx:frgancient} \newbool{cbx:corpus} \newbool{cbx:lastnames} \newbool{cbx:fullnames} \newbool{bib:lstabbrv} \newbool{bib:bibcorpora} \newbool{bib:bibancient} \newbool{bib:lstlocations} \newbool{bib:lstpublishers} \newsavebox\arch@labelbox \newlength{\labwidthsameline} \setlength{\labwidthsameline}{4em} %----------------------- \DeclareBibliographyOption{lstabbrv}[true]{% \csuse{bool#1}{bib:lstabbrv}% \addbibresource{archaeologie-lstabbrv.bib} } \DeclareBibliographyOption{bibcorpora}[true]{% \addbibresource{archaeologie-bibcorpora.bib}% \ifbool{bib:lstabbrv}% {}% {\addbibresource{archaeologie-lstabbrv.bib}} } \DeclareBibliographyOption{bibancient}[true]{% \addbibresource{archaeologie-bibancient.bib}% } \DeclareBibliographyOption{lstlocations}[true]{% \addbibresource{archaeologie-lstlocations.bib}% } \DeclareBibliographyOption{lstpublishers}[true]{% \addbibresource{archaeologie-lstpublishers.bib}% } %----------------------- \DeclareBibliographyOption{edby}[true]{\csuse{bool#1}{bbx:edby}} \DeclareBibliographyOption{initials}[true]{\csuse{bool#1}{bbx:initials}} \DeclareBibliographyOption{width}[]{% \csuse{booltrue}{bbx:width} \setlength{\labwidthsameline}{#1}} \DeclareBibliographyOption{yearseries}[true]{\csuse{bool#1}{bbx:yearseries}} \DeclareBibliographyOption{counter}[true]{\csuse{bool#1}{bbx:counter}} \DeclareBibliographyOption{bibfullname}[true]{% \ExecuteBibliographyOptions{giveninits=false}} \DeclareBibliographyOption{inreferences}[true]{\csuse{bool#1}{bbx:inreferences} \ExecuteBibliographyOptions[inreference]{skipbib=true}} \DeclareBibliographyOption{noabbrv}[true]{\csuse{bool#1}{bbx:noabbrv}} \DeclareBibliographyOption{translation}[true]{\csuse{bool#1}{bbx:translation}} \DeclareBibliographyOption{publisher}[true]{\csuse{bool#1}{bbx:publisher} \ExecuteBibliographyOptions{maxitems=2}} \DeclareBibliographyOption{lastnames}[true]{% \csuse{booltrue}{cbx:lastnames}% \csuse{boolfalse}{cbx:fullnames} } \DeclareBibliographyOption{fullnames}[true]{% \csuse{boolfalse}{cbx:lastnames}% \csuse{booltrue}{cbx:fullnames}} \DeclareBibliographyOption{scshape}[true]{% \ifstrequal{#1}{true}% {\AtEveryCite{\renewcommand*{\mkbibnamefamily}[1]{\textsc{##1}}}}% {}% } %----------------------- \DeclareEntryOption{ancient}[true]{\csuse{bool#1}{cbx:ancient}} \DeclareEntryOption{frgancient}[true]{% \ifstrequal{#1}{true}% {\togglefalse{blx@useauthor}}% {}% \csuse{bool#1}{cbx:frgancient}% } \DeclareEntryOption{corpus}[true]{\csuse{bool#1}{cbx:corpus}} %----------------------- \DeclareFieldFormat*{title}{#1} \DeclareFieldFormat{subtitle}{#1} \DeclareFieldFormat{booktitle}{#1} \DeclareFieldFormat{booksubtitle}{#1} \DeclareFieldFormat{titlecase}{#1} \DeclareFieldFormat*{maintitle}{#1} \DeclareFieldFormat{journaltitle}{#1} \DeclareFieldFormat{seriestitle}{#1} \DeclareFieldFormat{pages}{#1} \DeclareFieldFormat{edition}{#1} \DeclareFieldFormat{volumes}{#1} \DeclareFieldFormat{volume}{#1} \DeclareFieldFormat{parens}{\mkbibparens{#1}} \DeclareFieldFormat{brackets}{\mkbibbrackets{#1}} \DeclareFieldFormat{quotes}{\mkbibquote{#1}} \DeclareFieldFormat{emph}{\mkbibemph{#1}} \DeclareFieldFormat{url}{\textless\url{#1}\textgreater} \DeclareFieldFormat{urldate}{\mkbibparens{#1}} \DeclareFieldFormat{note}{\mkbibparens{#1}\nopunct} \DeclareFieldFormat{shorthandwidth}{#1} \DeclareFieldFormat{origtitle}{\mkbibemph{#1}} \DeclareFieldFormat{eprint:urn}{% \textsc{urn}% \addcolon\space% \ifhyperref% {\href{http://www.nbn-resolving.org/#1}{\nolinkurl{#1}}}% {\nolinkurl{#1}}% } \DeclareFieldFormat{eprint:zenon}{% \textsc{zenon (opac)}% \addcolon\space% \ifhyperref% {\href{http://zenon.dainst.org/Record/#1}{\nolinkurl{#1}}}% {\nolinkurl{#1}}% } \DeclareFieldFormat{eprint:jstor}{% \textsc{jstor}% \addcolon\space% \ifhyperref% {\href{http://www.jstor.org/stable/#1}{\nolinkurl{#1}}}% {\nolinkurl{#1}}% } %----------------------- \DeclareFieldAlias{zenon}{eprint:zenon} \DeclareFieldAlias{jstor}{eprint:jstor} \DeclareFieldAlias{urn}{eprint:urn} %----------------------- \DeclareRedundantLanguages{ngerman}{german,ngerman,austrian,naustrian} \DeclareRedundantLanguages{english,american}{english,american,british,% canadian,australian,newzealand,USenglish,UKenglish} \DeclareLanguageMapping{ngerman}{archaeologie-ngerman} \DeclareLanguageMapping{english}{archaeologie-english} \DeclareLanguageMapping{french}{archaeologie-french} \DeclareLanguageMapping{italian}{archaeologie-italian} \DeclareLanguageMapping{spanish}{archaeologie-spanish} %----------------------- \renewcommand*{\subtitlepunct}{\addperiod\addspace} \renewcommand*{\intitlepunct}{\addcolon\addspace} \renewcommand*{\newunitpunct}{\addcomma\addspace} \newcommand*{\orttrennzeichen}{\addnbspace\textendash\addspace} \renewcommand{\finentrypunct}{%http://tex.stackexchange.com/a/14159/98739 \ifbool{bbx:counter}% {\addspace$\vert$ \addspace\scshape% \iflanguage{ngerman}% {wurde \ifnumequal{\value{citecounter}}{0}{{\color{red}{keinmal}}}% {\arabic{citecounter}-mal} zitiert.% } {cited \ifnumequal{\value{citecounter}}{0}{{\color{red}{not once}}}% {\arabic{citecounter}~time\ifnumequal{\value{citecounter}}{1}{}{s}}.% }% }% {}% } \renewcommand{\multinamedelim}{\addnbspace\textendash\addspace} \renewcommand{\finalnamedelim}{\multinamedelim} \renewcommand*\relateddelim{\addnbspace\textendash\addspace} \newcommand*{\volnumdelim}{\addslash} \newcommand*{\jourvoldelim}{\addnbspace} %----------------------- \DeclareBibliographyAlias{collection}{book} \DeclareBibliographyAlias{reference}{book} \DeclareBibliographyAlias{institution}{school} \DeclareBibliographyAlias{maintitle}{booktitle} \DeclareBibliographyAlias{incollection}{inbook} \DeclareBibliographyAlias{manual}{book} %----------------------- \DeclareSortingScheme{nyt}{% \sort{\field{presort}}% \sort[final]{\field{sortkey}}% \sort{% \field{shorthand}% \name{sortname}% \name{author}% \name{editor}% \name{translator}% \field{sorttitle}% \field{title}% }% \sort{% \field{sortyear}% \field{year}% }% \sort{% \field{sorttitle}% \field{title}% }% \sort{% \field[padside=left,padwidth=4,padchar=0]{volume}% \literal{0000}% }% } %----------------------- \DeclareSortingScheme{shortseries}{\sort{\field{shortseries}}} \DeclareSortingScheme{shortjournal}{\sort{\field{shortjournal}}} %----------------------- \defbibcheck{shortseries}{% \iffieldundef{shortseries}% {\skipentry}% {}% \iffieldundef{series}% {\skipentry}% {\ifcsdef{\strfield{series}}% {\skipentry}% {\savefieldcs{series}{\strfield{series}}}% }% } \defbibcheck{shortjournal}{% \iffieldundef{shortjournal}% {\skipentry}% {}% \iffieldundef{journaltitle}% {\skipentry}% {\ifcsdef{\strfield{journaltitle}}% {\skipentry}% {\savefieldcs{journaltitle}{\strfield{journaltitle}}}% }% } %----------------------- \DeclareNameAlias{author}{given-family} \DeclareNameAlias{editor}{author} \DeclareNameAlias{translator}{author} %----------------------- \DeclareListFormat{location}{% #1\ifthenelse{\value{listcount}<\value{liststop}}% {\orttrennzeichen}% {}% } %----------------------- \AtEveryBibitem{% \iffieldequalstr{relatedtype}{translationof} {\savename{translator}{\savedrelatedtranslator}% \clearname{translator}} {} \ifboolexpr{bool {bbx:translation}% or bool {cbx:ancient}% or bool {cbx:frgancient}}% {}% {\clearname{translator}% \clearfield{origtitle}}} %----------------------- \AtBeginDocument{% \ifbool{bbx:initials}{%http://tex.stackexchange.com/a/295486/98739 \DeclareStyleSourcemap{% \maps[datatype=bibtex]{% \map{% % Author field \step[fieldsource=author,% match={\regexp{\b(Chr|Ch|Th|Ph|[B-DF-HJ-NP-TV-XZ](l|r))(\S*,)}},% replace={\regexp{\{$1\}$3}}]% Protect last names (first last) \step[fieldsource=author,% match={\regexp{([^,]\s)\b(Chr|Ch|Th|Ph|[B-DF-HJ-NP-TV-XZ](l|r))}},% replace={\regexp{$1\{$2\}}}]% Protect last names (last, first) \step[fieldsource=author,% match={\regexp{\b(Chr|Ch|Th|Ph|[B-DF-HJ-NP-TV-XZ](l|r))([^\}])}},% replace={\regexp{\{\\relax\{\}$1\}$3}}]% Insert \relax after abbreviating % Editor field \step[fieldsource=editor,% match={\regexp{\b(Chr|Ch|Th|Ph|[B-DF-HJ-NP-TV-XZ](l|r))(\S*,)}},% replace={\regexp{\{$1\}$3}}]% Protect last names (first last) \step[fieldsource=editor,% match={\regexp{([^,]\s)\b(Chr|Ch|Th|Ph|[B-DF-HJ-NP-TV-XZ](l|r))}},% replace={\regexp{$1\{$2\}}}]% Protect last names (last, first) \step[fieldsource=editor,% match={\regexp{\b(Chr|Ch|Th|Ph|[B-DF-HJ-NP-TV-XZ](l|r))([^\}])}},% replace={\regexp{\{\\relax\{\}$1\}$3}}]% Insert \relax after abbreviating }}}% }{}% } %----------------------- %% provide macros to deal with intranslator, withincommentator, withinannotator, withinintroduction, withinforeword, withinafterword %% that is fields referring to the title work and not the booktitle work in inbook etc. works % these macros are essentially the same as the standard macros without the "in" \newbibmacro*{byineditor+others}{% \ifnameundef{ineditor}% {}% {\usebibmacro{byeditor+othersstrg}% \setunit{\addspace}% \printnames[byeditor]{ineditor}% \clearname{ineditor}% \newunit% }% \usebibmacro{byintranslator+others}% } %----------------------- \newbibmacro*{byintranslator+others}{% \ifnameundef{intranslator}% {}% {\usebibmacro{bytranslator+othersstrg}% \setunit{\addspace}% \printnames[bytranslator]{intranslator}% \clearname{intranslator}% \newunit% }% \usebibmacro{withinothers}% } %----------------------- \newbibmacro*{withincommentator}{% \ifnameundef{incommentator}% {}% {\bibstring{withcommentator}% \setunit{\addspace}% \printnames[withcommentator]{incommentator}% }% } %----------------------- \newbibmacro*{withinannotator}{% \ifnameundef{inannotator}% {}% {\bibstring{withannotator}% \setunit{\addspace}% \printnames[withannotator]{inannotator}% }% } %----------------------- \newbibmacro*{withinintroduction}{% \ifnameundef{inintroduction} {}% {\bibstring{withintroduction}% \setunit{\addspace}% \printnames[withintroduction]{inintroduction}% }% } %----------------------- \newbibmacro*{withinforeword}{% \ifnameundef{inforeword}% {}% {\bibstring{withforeword}% \setunit{\addspace}% \printnames[withforeword]{inforeword}% }% } %----------------------- \newbibmacro*{withinafterword}{% \ifnameundef{inafterword} {} {\bibstring{withafterword}% \setunit{\addspace}% \printnames[withafterword]{inafterword}% }% } %----------------------- \newbibmacro*{withinothers}{% \usebibmacro{withincommentator}% \clearname{incommentator}% \newunit% \usebibmacro{withinannotator}% \clearname{inannotator}% \newunit% \usebibmacro{withinintroduction}% \clearname{inintroduction}% \newunit% \usebibmacro{withinforeword}% \clearname{inforeword}% \newunit% \usebibmacro{withinafterword}% \clearname{inafterword}% } %----------------------- \newbibmacro{labelwidthbib}{% \begingroup% \DeclareFieldFormat{bibhyperref}{##1}% \csuse{blx@hook@cite}% \csuse{blx@hook@citekey}% \defcounter{maxnames}{\blx@maxcitenames}% \usebibmacro{cite}% \endgroup% } %----------------------- \newbibmacro{kicklabel}{% \sbox\arch@labelbox{\usebibmacro{labelwidthbib}}% \global\togglefalse{blx@insert}% \ifdim.9\wd\arch@labelbox>% \labwidthsameline\leavevmode\newline\fi% } %----------------------- \renewbibmacro{in:}{% \ifthenelse{% \ifentrytype{article}% \OR% \ifentrytype{review}}% {}% {\printtext{\bibstring{in}\intitlepunct}}% } %----------------------- \newbibmacro*{bbx:parunit}{% \ifbibliography{% \setunit{\bibpagerefpunct}% \newblock \usebibmacro{pageref}% \clearlist{pageref}% \setunit{\addcomma\newline\nobreak}% }% {}% } %----------------------- \renewbibmacro*{eprint}{% \usebibmacro{bbx:parunit}% \iffieldundef{eprinttype}% {\printfield{eprint}}% {\printfield[eprint:\strfield{eprinttype}]{eprint}}% } %----------------------- \newbibmacro*{zenon}{% \usebibmacro{bbx:parunit}% \iffieldundef{zenon}% {}% {\printfield{zenon}}% } %----------------------- \newbibmacro*{jstor}{% \usebibmacro{bbx:parunit}% \iffieldundef{jstor}% {}% {\printfield{jstor}}% } %----------------------- \newbibmacro*{urn}{% \usebibmacro{bbx:parunit}% \iffieldundef{urn}% {}% {\printfield{urn}}% } %----------------------- \renewbibmacro*{url+urldate}{% \usebibmacro{bbx:parunit}% \printfield{url}% \iffieldundef{urlyear}% {}% {\setunit*{\addspace}% \printtext{\printurldate}% }% } %----------------------- \renewbibmacro*{doi+eprint+url}{% \usebibmacro{bbx:parunit}% \iftoggle{bbx:doi}% {\printfield{doi}}% {}% \iftoggle{bbx:eprint}% {\usebibmacro{eprint}}% {}% \usebibmacro{jstor}% \usebibmacro{urn}% \usebibmacro{zenon}% \iftoggle{bbx:url}% {\usebibmacro{url+urldate}}% {}% } %----------------------- \DeclareFieldFormat{editortype}{\mkbibparens{#1}} \renewbibmacro*{editor}{% \ifboolexpr{% test \ifuseeditor % and % not test {\ifnameundef{editor}} }% {\printnames{editor}% \setunit{\addspace}% \printtext[parens]{\bibstring{editor}}% \clearname{editor}% }% {}% } %----------------------- \newbibmacro{savestuff}{% \savename{editor}{\bbx@lasteditor}% \savefield{namehash}{\bbx@lasthash}% \savefield{booktitle}{\bbx@lastbooktitle}% } %----------------------- \newbibmacro*{series}{% \ifboolexpr{test {\iffieldundef{shortseries}} % or bool {bbx:noabbrv}}% {\printtext[seriestitle]{\printfield[titlecase]{series}}}% {\printfield{shortseries}}% } %----------------------- \renewbibmacro*{series+number}{% \iffieldundef{series}% {}% {\usebibmacro{series}% \setunit*{\addspace}% \printfield{number}% \ifbool{bbx:yearseries}% {\newunit}% {\setunit{\addspace}}% }% } %----------------------- \renewbibmacro*{journal}{% \ifboolexpr{test {\iffieldundef{shortjournal}}% or bool {bbx:noabbrv}}% {\printtext[journaltitle]{% \printfield[titlecase]{journaltitle}% \setunit{\subtitlepunct}% \printfield[titlecase]{journalsubtitle}% }% }% {\printfield{shortjournal}}% } %----------------------- \newbibmacro{journal+number+year}{% \usebibmacro{journal}% \setunit{\jourvoldelim}% \printfield{volume}% \iffieldundef{number}% {}% {\setunit{\volnumdelim}% \printfield{number}% }% \newunit% \iffieldundef{year}% {\printfield{pubstate}}% {\printfield{year}}% } %----------------------- \newbibmacro*{pages}{% \printfield{pages}% \isdot% } %----------------------- \newbibmacro{translation}{% \printfield{origtitle}% \setunit{\addcomma\space}% \usebibmacro{byeditor+others}% } %----------------------- \newbibmacro{intranslation}{% \printfield{origtitle}% \setunit{\addcomma\space}% \usebibmacro{byineditor+others}% } %----------------------- \newbibmacro*{related:reviewof}[1]{% \usebibmacro*{related:default}{#1}% } %----------------------- \newbibmacro*{related:translationof}[1]{% \entrydata*{#1}{% \restorename{savedtranslator}{\savedrelatedtranslator}% \printtext[emph]{\usebibmacro{title}}% \usebibmacro{location+edition+year}% \ifnameundef{savedtranslator}% {}% {\newunit \bibstring{bytranslator}%keine Sprache ausgegeben? \setunit{\addspace}% \printnames{savedtranslator}% } } } %----------------------- \newbibmacro*{maintitle+title+volumes}{% \iffieldsequal{maintitle}{title}% {\clearfield{maintitle}% \clearfield{mainsubtitle}% \clearfield{maintitleaddon}% }% {\iffieldundef{maintitle}% {}% {\usebibmacro{maintitle}% \ifbool{cbx:ancient}% {\usebibmacro{title}% \iffieldundef{volume}% {\newunit\newblock}% {}% }% {\iffieldundef{volume}% {\iffieldundef{volumes}% {}% {\printfield{volumes}% \setunit*{\addspace}% \bibstring{volumes}% \setunit{\addspace}% }% }% {\setunit{\addspace}% \printfield{volume}% \setunit*{\adddot\addspace}% }% }% }% }% \iffieldundef{volumes}% {\usebibmacro{title}}% {}% \newunit% } %----------------------- \renewbibmacro{event+venue+date}{% \setunit{\adddot\addspace}% \printfield{eventtitle}% \setunit*{\addspace}% \printfield{venue}% \setunit*{\addspace}% \printeventdate% \newunit% } %----------------------- \renewbibmacro*{title}{% \ifboolexpr{% test {\iffieldundef{title}}% and% test {\iffieldundef{subtitle}}} {}% {\printtext[title]{% \printfield[titlecase]{title}% \setunit{\subtitlepunct}% \printfield[titlecase]{subtitle}}% \setunit{\subtitlepunct} }% \printfield{titleaddon}% } %----------------------- \renewbibmacro*{booktitle}{% \ifboolexpr{% test {\iffieldundef{booktitle}}% and% test {\iffieldundef{booksubtitle}}} {}% {\printtext[booktitle]{% \printfield[titlecase]{booktitle}% \setunit{\subtitlepunct}% \printfield[titlecase]{booksubtitle}}% \setunit{\subtitlepunct}% }% \printfield{booktitleaddon}% } %----------------------- \renewbibmacro*{maintitle}{% \ifboolexpr{% test {\iffieldundef{maintitle}}% and% test {\iffieldundef{mainsubtitle}}}% {}% {\printtext[maintitle]{% \printfield[titlecase]{maintitle}% \setunit{\subtitlepunct}% \printfield[titlecase]{mainsubtitle}}% \setunit{\subtitlepunct}% }% \printfield{maintitleaddon}% } %----------------------- \newbibmacro*{Erstauflage}{% \bibstring{firstprint}% \setunit{\addcolon\addspace}% } %----------------------- \newbibmacro*{edition}{% \iffieldint{edition}% {\setunit*{\addspace}% \mkbibsuperscript{\printfield{edition}}}% {\newunit% \printfield{edition}% \setunit{\addspace}% }% } %----------------------- \newbibmacro*{location+edition+year}{% \ifboolexpr{% test {\iflistundef{location}}% and test {\iflistundef{publisher}}% and test {\iffieldundef{year}}}% {}% {\ifbool{bbx:publisher}% {\printtext[parens]{% \printlist{location}% \setunit*{\addcolon\addspace}% \printlist{publisher}% \iffieldint{edition}% {\setunit{\addspace}}% {\newunit}% \usebibmacro{edition}% \iffieldundef{year}% {\printfield{pubstate}}% {\printfield{year}}% \setunit*{\addspace}% \ifboolexpr{% test {\iflistundef{origlocation}}% and test {\iflistundef{origpublisher}}% and test {\iffieldundef{origyear}}}% {}% {\printtext[parens]{%\usebibmacro{Erstauflage}% \printlist{origlocation}% \iflistundef{origpublisher}% {}% {\setunit*{\addcolon\addspace}% \printlist{origpublisher}% }% \setunit{\addspace}% \printfield{origyear}% }% }% }% }% {\usebibmacro{edition}% \printtext[parens]{% \ifboolexpr{test {\iflistundef{origlocation}}% and test {\iffieldundef{origyear}}}% {}% {\iflistundef{origlocation}% {\printlist{location}}% {\printlist{origlocation}}% \setunit{\addspace}% \printfield{origyear}% \setunit*{\addsemicolon\addspace}% \iffieldundef{origyear}% {}% {\bibstring{reprint}% \addspace% }% }% \printlist{location}% \setunit*{\addspace}% \iffieldundef{year}% {\printfield{pubstate}}% {\printfield{year}}% }% }% }% } %----------------------- \renewbibmacro*{institution+location+date}{% \printlist{location}% \printlist{institution}% \setunit*{\space}% \iffieldundef{year}% {\printfield{pubstate}}% {\printfield{year}}% } %----------------------- \DeclareLabeldate{%http://tex.stackexchange.com/a/154367/98739 \field{date}% \field{eventdate}% \field{origdate}% \field{urldate}% \field{pubstate}% \literal{nodate}% } %----------------------- \newbibmacro*{addendum}{}%%notwendig? %----------------------- \renewbibmacro*{addendum+pubstate}{% \printfield{addendum}% \iffieldundef{\thefield{datelabesource}year}% {}% {\newunit\newblock% \printfield{pubstate}% }% } %----------------------- \newbibmacro{signatur}{% \printfield{note}% } %----------------------- \newbibmacro*{volume}{% \iffieldundef{maintitle}% {\printfield{volume}% \newunit}% {}% } %----------------------- \renewbibmacro*{maintitle+booktitle}{% \iffieldundef{maintitle}% {}% {\usebibmacro{maintitle}% \iffieldundef{volume} {\setunit{\maintitlepunct}}% {\setunit{\addspace}% \printfield{volume}% \printfield{part}% \setunit{\adddot\space}% }% }% \usebibmacro{booktitle}% \newunit } %----------------------- \newbibmacro*{booktitle+volume+editor}{% \ifnameundef{editor}% {\usebibmacro{maintitle+booktitle}% \setunit{\addspace}% \usebibmacro{volume}% }% {\ifbool{bbx:edby}% {\usebibmacro{booktitle}% \setunit{\addspace}% \usebibmacro{volume}% \newunit% \bibstring{byeditor}% \setunit{\addspace}% \printnames[author][-\value{listtotal}]{editor}% }% {\printnames[author][-\value{listtotal}]{editor}% \setunit*{\addspace}% \printtext[parens]{\bibstring{editor}}% \newunit\newblock% \usebibmacro{maintitle+booktitle}% \setunit{\addspace}% \usebibmacro{volume}% \newunit% }% }% } %----------------------- \newbibmacro*{reftitle}{% \iffieldundef{title}% {}% {\bibstring{reference}% \setunit{\addspace}% \printtext[emph]{% \usebibmacro{title}% \setunit{\addspace}% \iffieldundef{number}% {}% {\printfield[brackets]{number}}% }% }% } %----------------------- \DeclareBibliographyDriver{shortjournal}{% \printtext[journaltitle]{% \printfield[titlecase]{journaltitle}% \setunit{\subtitlepunct}% \printfield[titlecase]{journalsubtitle}% }% } %----------------------- \DeclareBibliographyDriver{shortseries}{% \printtext[seriestitle]{% \printfield[titlecase]{series}% }% } %----------------------- \DeclareDataInheritance{reference}{inreference}{% \inherit{shorthand}{booktitle}% \noinherit{volumes}% } %----------------------- \DeclareBibliographyDriver{shorthand}{% \iffieldundef{title}% {\printfield{booktitle}}% {\printfield{title}}% } %----------------------- \DeclareBibliographyDriver{article}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author}% \setunit*{\labelnamepunct}% \newblock% \usebibmacro{title}% \newunit\newblock% \usebibmacro{translation}% \usebibmacro{journal+number+year}% \newunit\newblock% \usebibmacro{pages}% \setunit{\addspace}% \usebibmacro{doi+eprint+url}% \newunit\newblock% \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}% \setunit*{\labelnamepunct}% \newblock% \usebibmacro{maintitle+title+volumes}% \newunit\newblock% \usebibmacro{translation}% \ifbool{bbx:yearseries}% {}% {\newunit\usebibmacro{series+number}}% \setunit{\addspace}% \newblock% \usebibmacro{location+edition+year}% \setunit*{\addspace}% \newblock% \ifbool{bbx:yearseries}% {\usebibmacro{series+number}}% {}% \newunit\newblock% \usebibmacro{doi+eprint+url}% \setunit*{\addperiod\addspace}% \usebibmacro{signatur}% \newunit\newblock% \iftoggle{bbx:related}% {\usebibmacro{related:init}% \usebibmacro{related}% } {}% \usebibmacro{savestuff}% \usebibmacro{finentry}% } %----------------------- \DeclareBibliographyDriver{thesis}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/editor} \setunit*{\labelnamepunct}% \newblock% \usebibmacro{title}% \setunit{\addspace} \printtext[parens]{\printfield{type}% \setunit*{\addspace}% \usebibmacro{institution+location+date}}% \newunit\newblock% \usebibmacro{doi+eprint+url}% \setunit*{\addperiod\addspace}% \usebibmacro{signatur}% \newunit\newblock \iftoggle{bbx:related} {\usebibmacro{related:init}% \usebibmacro{related}% } {}% \usebibmacro{savestuff}% \usebibmacro{finentry}% } %----------------------- \DeclareBibliographyDriver{proceedings}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/editor}% \setunit*{\labelnamepunct}% \newblock% \usebibmacro{maintitle+title+volumes}% \usebibmacro{event+venue+date}% \setunit*{\addspace}% \ifbool{bbx:yearseries}% {}% {\newunit% \usebibmacro{series+number}% }% \setunit{\addspace}% \newblock% \usebibmacro{location+edition+year}% \setunit*{\addspace}% \newblock% \ifbool{bbx:yearseries}% {\usebibmacro{series+number}}% {}% \newunit\newblock% \usebibmacro{doi+eprint+url}% \setunit{\addperiod\addspace}% \usebibmacro{signatur}% \usebibmacro{savestuff}% \newunit\newblock% \iftoggle{bbx:related}% {\usebibmacro{related:init}% \usebibmacro{related}% }% {}% \usebibmacro{finentry}% } %----------------------- \DeclareBibliographyDriver{inproceedings}{% \usebibmacro{bibindex}% \usebibmacro{begentry}%% \usebibmacro{author/editor}% \setunit*{\labelnamepunct}% \newblock% \usebibmacro{title}% \newunit\newblock% \usebibmacro{intranslation}% \newunit\newblock% \usebibmacro{in:}% \usebibmacro{booktitle+volume+editor}% \usebibmacro{event+venue+date}% \setunit{\addspace}% \ifbool{bbx:yearseries}% {}% {\newunit% \usebibmacro{series+number}% }% \setunit{\addspace}% \newblock% \usebibmacro{location+edition+year}% \setunit*{\addspace}% \newblock% \ifbool{bbx:yearseries}% {\usebibmacro{series+number}}% {}% \usebibmacro{pages}% \newunit\newblock% \usebibmacro{doi+eprint+url}% \setunit{\addperiod\addspace}% \usebibmacro{signatur}% \newunit\newblock% \iftoggle{bbx:related}% {\usebibmacro{related:init}% \usebibmacro{related}% }% {}% \usebibmacro{savestuff}% \usebibmacro{finentry}% } %----------------------- \DeclareBibliographyDriver{talk}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/editor}% \setunit*{\labelnamepunct}% \newblock% \usebibmacro{title}% \newunit\newblock% \bibstring{talk}% \setunit{\addspace}% \printdate \newunit\newblock% \printlist{institution}% \newunit\newblock% \usebibmacro{event+venue+date}% \setunit{\addspace}% \newunit\newblock% \usebibmacro{doi+eprint+url}% \setunit{\addperiod\addspace}% \usebibmacro{signatur}% \newunit\newblock% \iftoggle{bbx:related}% {\usebibmacro{related:init}% \usebibmacro{related}% }% {}% \usebibmacro{savestuff}% \usebibmacro{finentry}% } %----------------------- \DeclareBibliographyDriver{inbook}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/editor}% \setunit*{\labelnamepunct}% \newblock% \usebibmacro{title}% \newunit\newblock% \usebibmacro{intranslation}% \iffieldundef{title}% {\setunit{\addspace}}% {\newunit\newblock}% \usebibmacro{in:}% \usebibmacro{booktitle+volume+editor}% \setunit{\addspace}% \ifbool{bbx:yearseries}% {}% {\newunit% \usebibmacro{series+number}% }% \setunit{\addspace}% \newblock% \usebibmacro{location+edition+year}% \setunit*{\addspace}% \newblock% \ifbool{bbx:yearseries}% {\usebibmacro{series+number}}% {}% \usebibmacro{pages}% \newunit\newblock% \usebibmacro{doi+eprint+url}% \setunit{\addperiod\addspace}% \usebibmacro{signatur}% \newunit\newblock% \iftoggle{bbx:related}% {\usebibmacro{related:init}% \usebibmacro{related}% }% {}% \usebibmacro{savestuff}% \usebibmacro{finentry}% } %----------------------- \DeclareBibliographyDriver{inreference}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \printfield{booktitle}% \setunit{\addspace}% \printfield{volume}% \setunit{\addspace}% \printfield[parens]{year}% \setunit{\addspace}% \usebibmacro{pages}% \iffieldundef{title}% {}% {\setunit{\addspace}% \printtext{s\adddot\addnbthinspace v\adddot}% }% \setunit{\addspace}% \printfield{title}% \iffieldundef{number}% {}% {\setunit{\addspace}% \printtext[brackets]{\printfield{number}}% }% \setunit{\addspace}% \printtext[parens]{\c@uniquename=1% \printnames{labelname}}% \setunit*{\addspace}% \usebibmacro{addendum}% \usebibmacro{doi+eprint+url}% \setunit{\addperiod\addspace}% \usebibmacro{signatur}% \newunit\newblock \usebibmacro{savestuff}% \usebibmacro{finentry}% } %----------------------- \DeclareBibliographyDriver{review}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/editor}% \setunit*{\labelnamepunct}% \newblock% \iffieldundef{title}% {}% {\usebibmacro{title}}% \newunit\newblock% \usebibmacro{related:init}% \usebibmacro{related}% \newunit\newblock% \usebibmacro{journal+number+year}% \newunit\newblock% \usebibmacro{pages}% \newunit\newblock% \usebibmacro{doi+eprint+url}% \usebibmacro{signatur}% \newunit\newblock% \usebibmacro{savestuff}% \usebibmacro{finentry}% } %----------------------- \defbibenvironment{bibliography}% {\list% {\usebibmacro{labelwidthbib}}% {\setlength{\labelwidth}{\labwidthsameline} \setlength{\leftmargin}{\labelwidth}% \setlength{\labelsep}{\biblabelsep}% \addtolength{\leftmargin}{\labelsep}% \setlength{\itemsep}{\bibitemsep}% \setlength{\parsep}{\bibparsep}% \renewcommand*{\makelabel}[1]{##1\hss}% }% }% {\endlist}% {\item% \usebibmacro{kicklabel}% } \endinput