% archaeologie --% % biblatex for archaeologists, % historians and philologists % Copyright (c) 2017 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. \def\arch@date{2017-02-27} \def\arch@version{2.3} \def\arch@bbxid{\arch@date\space v\arch@version\space biblatex-archaeologie bibliography style (LCB/JF)} \def\arch@cbxid{\arch@date\space v\arch@version\space biblatex-archaeologie citation style (LCB/JF)} \def\arch@lbxid{\arch@date\space v\arch@version\space biblatex-archaeologie localization (LCB/JF)} \ProvidesFile{archaeologie.bbx}% [\arch@bbxid] \RequireBibliographyStyle{standard} \AtBeginDocument{% \urlstyle{sf}% \typeout{* * * archaeologie * * * biblatex for archaeologists, historians and philologists} } \RequirePackage[normalem]{ulem} %\RequirePackage{csquotes} \def\archaeologieversion{\arch@version} \def\archaeologiedate{\arch@date} \ExecuteBibliographyOptions{% pagetracker=true,% citecounter=true,% sortlocale=auto,% language=auto,% autolang=other,% bibencoding=utf8,% dateabbrev=false, % sorting=nyt,% labeldateparts=true, maxnames=2,% minnames=1,% maxitems=1,% maxbibnames=999,% useprefix=true,% } %----------------------- \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{bib:lstabbrv} \newbool{bib:bibcorpora} \newbool{bib:bibancient} \newbool{bib:lstlocations} \newbool{bib:lstpublishers} \newsavebox\arch@labelbox \newlength{\labwidthsameline} \setlength{\labwidthsameline}{4em} \newtoggle{bbx:jstor} \newtoggle{bbx:zenon} \newtoggle{bbx:urn} \setlength{\biblabelsep}{0em} %----------------------- \DeclareBibliographyOption{lstabbrv}[true]{% \csuse{bool#1}{bib:lstabbrv}% \addbibresource{archaeologie-lstabbrv.bib}} \DeclareBibliographyOption{bibcorpora}[true]{% \csuse{bool#1}{bib:bibcorpora}% \addbibresource{archaeologie-bibcorpora.bib}% \ifbool{bib:lstabbrv}% {}% {\addbibresource{archaeologie-lstabbrv.bib}}} \DeclareBibliographyOption{bibancient}[true]{% \csuse{bool#1}{bib:bibancient}% \addbibresource{archaeologie-bibancient.bib}} \DeclareBibliographyOption{lstlocations}[true]{% \csuse{bool#1}{bib:lstlocations}% \addbibresource{archaeologie-lstlocations.bib}} \DeclareBibliographyOption{lstpublishers}[true]{% \csuse{bool#1}{bib:lstpublishers}% \addbibresource{archaeologie-lstpublishers.bib}} \DeclareBibliographyOption[boolean]{jstor}[true]{% \settoggle{bbx:jstor}{#1}} \DeclareBibliographyOption[boolean]{zenon}[true]{% \settoggle{bbx:zenon}{#1}} \DeclareBibliographyOption[boolean]{urn}[true]{% \settoggle{bbx:urn}{#1}} \ExecuteBibliographyOptions{% jstor,% urn,% } %----------------------- \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}% \def\labwidthsamelineVALUE{#1}} \DeclareBibliographyOption{yearseries}[true]{\csuse{bool#1}{bbx:yearseries}} \DeclareBibliographyOption{counter}[true]{\csuse{bool#1}{bbx:counter}} \DeclareBibliographyOption{bibfullname}[true]{\csuse{bool#1}{bbx:bibfullname} \DeclareNameAlias{author}{given-family}} \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{scshape}[true]{% \ifstrequal{#1}{true}% {\AtEveryCite{\renewcommand*{\mkbibnamefamily}[1]{\textsc{##1}}}}% {}% } %----------------------- \ExecuteBibliographyOptions{initials=true} %----------------------- \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}} %---------- \newcommand{\archaeologieoptions}[1][]{% \ifstrempty{#1}{% \iflanguage{ngerman}% {Zusätzlich geladene oder \xout{deaktivierte} Optionen von \textsc{bib}\LaTeX-\textsf{archaeologie} (Version \archaeologieversion~| \archaeologiedate):}% {Additional options of \textsc{bib}\LaTeX-\textsf{archaeologie} (version \archaeologieversion~| \archaeologiedate) used or \xout{omitted}:}\addspace}% {\ifthenelse{\equal{#1}{plain}}{}{{\PackageError{biblatex-archaeologie}% {command 'archaeologieoptions[#1]' invalid.\MessageBreak% Use 'archaeologieoptions[plain]' or omit the brackets.}{} }}}% \def\seperator{ | }% \ifbool{bib:bibancient}{bibancient\seperator}{}% \ifbool{bib:bibcorpora}{bibcorpora\seperator}{}% \ifbool{bib:lstabbrv}{lstabbrv\seperator}{}% \ifbool{bib:lstlocations}{lstlocations\seperator}{}% \ifbool{bib:lstpublishers}{lstpublishers\seperator}{}% \ifbool{bbx:bibfullname}{bibfullname\seperator}{}% \ifdefstring\citeauthorformatVALUE{initials}% {} {citeauthorformat\,= \citeauthorformatVALUE\seperator}% \ifbool{bbx:counter}{counter\seperator}{}% \ifbool{bbx:edby}{edby\seperator}{}% \ifbool{bbx:inreferences}{inreferences\seperator}{}% \ifbool{bbx:initials}{}{\xout{initials}\seperator}% \ifbool{bbx:noabbrv}{noabbrv\seperator}{}% \ifbool{bbx:publisher}{publisher\seperator}{}% \ifbool{cbx:seenote}{seenote\seperator}{}% \ifbool{bbx:translation}{translation\seperator}{}% \ifbool{bbx:width}{width=\labwidthsamelineVALUE\seperator}{}% \ifbool{cbx:yearinparens}{yearinparens\seperator}{}% \ifbool{bbx:yearseries}{yearseries\seperator}{}% \iftoggle{bbx:zenon}{zenon\seperator}{}% \iftoggle{bbx:jstor}{}{\xout{jstor}\seperator}% \iftoggle{bbx:urn}{}{\xout{urn}\seperator}% \iftoggle{bbx:doi}{}{\xout{doi}\seperator}% \iflanguage{ngerman}% {weitere Informationen unter \url{http://biblatex-archaeologie.de}} {further information see \url{http://biblatex-archaeologie.de}} } %----------------------- \DeclareFieldFormat*{title}{#1} \DeclareFieldFormat{subtitle}{#1} \DeclareFieldFormat{booktitle}{#1} \DeclareFieldFormat{editortype}{\mkbibparens{#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[article]{date}{\iffieldundef{number}{#1}{#1\setunit{\yearnumdelim}\printfield{number}}} \DeclareFieldFormat[inreference]{number}{\mkbibbrackets{#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}{\iffieldequalstr{origlanguage}{greek}{#1}{\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{german}{german,ngerman,austrian,naustrian} \DeclareRedundantLanguages{english,american}{english,american,british,% canadian,australian,newzealand,USenglish,UKenglish} \DeclareLanguageMapping{german}{archaeologie-german} \DeclareLanguageMapping{english}{archaeologie-english} \DeclareLanguageMapping{french}{archaeologie-french} \DeclareLanguageMapping{italian}{archaeologie-italian} \DeclareLanguageMapping{spanish}{archaeologie-spanish} %----------------------- \renewcommand*{\sqspace}{\addnbthinspace} \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}{\addcomma} \newcommand*{\yearnumdelim}{\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{sortshorthand} \field{shorthand} \field{sortname} \field{author} \field{editor} \field{translator} \field{sorttitle} \field{title} } \sort{ \field{sortyear} \field{year} } \sort{ \field{sorttitle} \field{title} } \sort{ \field{volume} \literal{0} } } %----------------------- \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}{name:initials} \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|St)(\S*,)}},% replace={\regexp{\{$1\}$2}}]% Protect last names (first last) \step[fieldsource=author,% match={\regexp{([^,]\s)\b(Chr|Ch|Th|Ph|St)}},% replace={\regexp{$1\{$2\}}}]% Protect last names (last, first) \step[fieldsource=author,% match={\regexp{\b(Chr|Ch|Th|Ph|St)([^\}])}},% replace={\regexp{\{\\relax\{\}$1\}$2}}]% Insert \relax after abbreviating % Editor field \step[fieldsource=editor,% match={\regexp{\b(Chr|Ch|Th|Ph|St)(\S*,)}},% replace={\regexp{\{$1\}$2}}]% Protect last names (first last) \step[fieldsource=editor,% match={\regexp{([^,]\s)\b(Chr|Ch|Th|Ph|St)}},% replace={\regexp{$1\{$2\}}}]% Protect last names (last, first) \step[fieldsource=editor,% match={\regexp{\b(Chr|Ch|Th|Ph|St)([^\}])}},% replace={\regexp{\{\\relax\{\}$1\}$2}}]% 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}% \ifdim1.1\wd\arch@labelbox>% \labwidthsameline\leavevmode\newline\fi% } %----------------------- \newbibmacro{labelwidthfield}[1]{% \begingroup \DeclareFieldFormat{bibhyperref}{##1}% \csuse{blx@hook@cite}% \csuse{blx@hook@citekey}% \defcounter{maxnames}{\blx@maxcitenames}% \printfield{#1}% \endgroup } %----------------------- \newbibmacro{kicklabelfield}[1]{% \sbox\arch@labelbox{\usebibmacro{labelwidthfield}{#1}}% \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}}} %----------------------- \renewbibmacro*{pageref}{% \iflistundef{pageref} {} { \setunit{\addcomma\newline\nobreak}% \printtext{% \ifnumgreater{\value{pageref}}{1} {\bibstring{backrefpages}\ppspace} {\bibstring{backrefpage}\ppspace}% \printlist[pageref][-\value{listtotal}]{pageref}}}} %----------------------- \newbibmacro*{bbx:parunit}{% \ifbibliography{% \setunit{\bibpagerefpunct}% \newblock \usebibmacro{pageref}% \clearlist{pageref}% \setunit{\addcomma\newline\nobreak}% }% {\newunit}% } %----------------------- \renewbibmacro*{eprint}{% \usebibmacro{bbx:parunit}% \iffieldundef{eprinttype}% {\printfield{eprint}}% {\printfield[eprint:\strfield{eprinttype}]{eprint}}% } %----------------------- \newbibmacro*{zenon}{% \iffieldundef{zenon} {}% {\usebibmacro{bbx:parunit}% \printfield{zenon}}} %----------------------- \newbibmacro*{jstor}{% \iffieldundef{jstor} {} {\usebibmacro{bbx:parunit}% \printfield{jstor}}} %----------------------- \newbibmacro*{urn}{% \iffieldundef{urn} {} {\usebibmacro{bbx:parunit}% \printfield{urn}}} %----------------------- \renewbibmacro*{url+urldate}{% \usebibmacro{bbx:parunit}% \iffieldundef{url} {} {\printfield{url}% \setunit*{\addspace}% \printtext{\printurldate}}} %----------------------- \renewbibmacro*{doi+eprint+url}{% \usebibmacro{bbx:parunit}% \iftoggle{bbx:doi}{\printfield{doi}}{}% \iftoggle{bbx:eprint}{\usebibmacro{eprint}}{}% \iftoggle{bbx:jstor}{\usebibmacro{jstor}}{}% \iftoggle{bbx:urn}{\usebibmacro{urn}}{}% \iftoggle{bbx:zenon}{\usebibmacro{zenon}}{}% \iftoggle{bbx:url}{\usebibmacro{url+urldate}}{}% } %----------------------- \renewbibmacro*{editor}{% \ifboolexpr{% test \ifuseeditor % and % not test {\ifnameundef{editor}}}% {\printnames{editor}% \setunit{\addspace}% \printtext[parens]{\bibstring{editor}}% \clearname{editor}}% {}} %----------------------- \DeclareLabeldate{% \field{date} \field{year} \field{eventdate} \field{origdate} \field{urldate} \field{pubstate} \literal{nodate} } %----------------------- \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% \usebibmacro{pubstate+year}} %----------------------- \newbibmacro{pubstate+year}{% \iffieldundef{pubstate}% {\usebibmacro{date}}% {\printfield{pubstate}}} %----------------------- \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*{inreference:title+author}{% \iffieldundef{title}% {}% {\setunit{\addspace}% \bibstring{subvoce}% \setunit{\addspace}% \printfield{title}% \setunit*{\addspace}% \printfield{number}}% \setunit{\addspace}% \printtext[parens]{\printnames[name:initials]{labelname}}} %----------------------- \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*{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}% \usebibmacro{pubstate+year}% \setunit*{\addspace}% \ifboolexpr{% test {\iflistundef{origlocation}}% and test {\iflistundef{origpublisher}}% and test {\iffieldundef{origyear}}}% {}% {\printtext[parens]{% \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}% \usebibmacro{pubstate+year}% }% }% }% } %----------------------- \renewbibmacro*{institution+location+date}{% \printlist{location}% \printlist{institution}% \setunit*{\space}% \usebibmacro{pubstate+year}% } %----------------------- \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{editor}% }% {\printnames{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}}% \blx@initunit} %----------------------- \DeclareBibliographyDriver{shortseries}{% \printtext[seriestitle]{% \printfield[titlecase]{series}}% \blx@initunit} %----------------------- \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}% \newblock% \usebibmacro{signatur}% \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{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{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}% \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{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{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{finentry}% } %----------------------- \DeclareBibliographyDriver{inreference}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \printfield{booktitle}% \setunit{\addspace}% \printfield{volume}% \setunit{\addspace}% \printfield[parens]{year}% \setunit{\addspace}% \usebibmacro{pages}% \usebibmacro{inreference:title+author}% \newunit\newblock% \usebibmacro{doi+eprint+url}% \setunit{\addperiod\addspace}% \usebibmacro{signatur}% \newunit\newblock% \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{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}} %----------------------- \def\do#1{% \defbibenvironment{#1} {\list% {\printfield{#1}}% {\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{kicklabelfield}{#1}}% } \docsvlist{shortjournal,shortseries} \endinput