% nottsclassic -- % % Copyright (c) 2016 Lukas C. Bossert | William Leveritt % % 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{nottsclassic.bbx}% [2016/06/30 v0.1 nottsclassic] \RequireBibliographyStyle{authoryear} \AtBeginDocument{% \urlstyle{sf}% \setquotestyle{british} %! mandatory: \usepackage{csquotes} in preamble! } \ExecuteBibliographyOptions{% pagetracker=true,% giveninits=true,% mergedate=true,% labeldate=true,% bibencoding=utf8,% sorting=nyt,% isbn=false, maxnames=2,% maxitems=1,% maxbibnames=999,% } %----------------------- \newcommand*{\volpagedelim}{\addcolon\addspace} \renewcommand*{\subtitlepunct}{\addcolon\addspace} \renewcommand*{\newunitpunct}{\addcomma\space} \renewcommand*\bibnamedash{\rule[0.48ex]{3em}{0.14ex}\space} %------------------------ \DeclareRedundantLanguages{english,american}{english,american,british,% canadian,australian,newzealand,USenglish,UKenglish} \DeclareLanguageMapping{english}{nottsclassic-english} %------------------------ \DeclareFieldFormat{postnote}{#1} \DeclareFieldFormat{multipostnote}{#1} \DeclareFieldFormat{volcitepages}{#1} \DeclareFieldFormat{pages}{#1} \DeclareFieldFormat*{title}{% \ifthenelse{% \ifentrytype{article}% \OR% \ifentrytype{review} \OR% \ifentrytype{incollection}}% {\mkbibquote{#1}}% {\mkbibemph{#1}}} \DeclareFieldFormat{booktitle}{\mkbibemph{#1}} %------------------------- \DeclareNameAlias{sortname}{family-given}% legacy alias %------------------------- \DeclareBibliographyCategory{important} \AtEveryBibitem{\ifcategory{important}{ \reversemarginpar \marginnote{\color{red}{☞}} %\bfseries } {}} %------------------------- \defbibenvironment{bibliography} {\list {} {\setlength{\leftmargin}{\bibhang}% \setlength{\itemindent}{-\leftmargin}% \setlength{\itemsep}{\bibitemsep}% \setlength{\parsep}{\bibparsep}}} {\endlist} {\item} \defbibenvironment{shorthand} {\list {\printfield[shorthandwidth]{shorthand}} {\setlength{\labelwidth}{\shorthandwidth}% \setlength{\leftmargin}{\labelwidth}% \setlength{\labelsep}{\biblabelsep}% \addtolength{\leftmargin}{\labelsep}% \setlength{\itemsep}{\bibitemsep}% \setlength{\parsep}{\bibparsep}% \renewcommand*{\makelabel}[1]{##1\hss}}} {\endlist} {\item} \renewbibmacro*{volume+number+eid}{% \printfield{volume}% \setunit*{\addcomma\addspace}% \printfield{number}% \setunit{\addcomma\space}% \printfield{eid}} %----------------------- \renewbibmacro{in:}{% \ifthenelse{% \ifentrytype{article}% \OR% \ifentrytype{review}}% {}% {\printtext{in}} %\bibstring{in}\intitlepunct}}% } %----------------------- \newbibmacro*{related:reviewof}[1]{% \usebibmacro*{related:default}{#1}% } %----------------------- \renewbibmacro*{editorstrg}{% \ifthenelse{\value{editor}>1\OR\ifandothers{editor}} {\bibstring{editors}} {\bibstring{editor}}} %----------------------- \renewbibmacro*{byeditor+others}{% \ifnameundef{editor} {} {%\usebibmacro{byeditor+othersstrg}% \setunit{\addspace}% \printtext[parens]{\printnames[editor]{editor}% \setunit{\addspace\addcomma\addspace}% \usebibmacro{editorstrg}}% \clearname{editor}% \newunit}% \usebibmacro{byeditorx}% \usebibmacro{bytranslator+others}} %----------------------- \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{in:}% \usebibmacro{journal+issuetitle}% \newunit \usebibmacro{byeditor+others}% \volpagedelim% \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{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+issuetitle}% \newunit\newblock% \usebibmacro{note+pages}% \newunit\newblock% \usebibmacro{doi+eprint+url}% \newunit\newblock% \usebibmacro{finentry}% } \endinput