diff options
Diffstat (limited to 'macros/latex/contrib/biblatex-contrib/biblatex-mla/mla-new.bbx')
-rw-r--r-- | macros/latex/contrib/biblatex-contrib/biblatex-mla/mla-new.bbx | 1292 |
1 files changed, 1292 insertions, 0 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-mla/mla-new.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-mla/mla-new.bbx new file mode 100644 index 0000000000..ee436e14d2 --- /dev/null +++ b/macros/latex/contrib/biblatex-contrib/biblatex-mla/mla-new.bbx @@ -0,0 +1,1292 @@ +% mla.bbx, v1.9 2016/11/01 * compatible with biblatex 3.4 +% Maintained at <https://github.com/jmclawson/biblatex-mla> by James Clawson. +% +% Feel free to improve, redistribute, and adapt to your own ends. Please share improvements in formatting and MLA standards compliance back to James Clawson: <clawson@gmail.com>. +% +% This material is subject to the LaTeX Project Public License. See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html for the details of that license. + +\ProvidesFile{mla-new.bbx}[2016/11/01 v1.9 biblatex bibliography style] + +\RequireBibliographyStyle{standard} +\DeclareLanguageMapping{american}{american-mla} +\DeclareLanguageMapping{english}{english-mla} + +\NewBibliographyString{byserieseditor} +\NewBibliographyString{reviewof} +\NewBibliographyString{specissue} +\NewBibliographyString{phd} +\NewBibliographyString{dphil} +\NewBibliographyString{lic} +\NewBibliographyString{ma} +\NewBibliographyString{ms} +\NewBibliographyString{msc} +\NewBibliographyString{mphil} +\NewBibliographyString{mlitt} +\NewBibliographyString{manuscript} +\NewBibliographyString{typescript} +\NewBibliographyString{director} +\NewBibliographyString{screenplay} +\NewBibliographyString{adaptation} +\NewBibliographyString{adaptor} +\NewBibliographyString{performer} +\NewBibliographyString{performers} +\NewBibliographyString{composer} +\NewBibliographyString{composedby} +\NewBibliographyString{producer} +\NewBibliographyString{with} +\NewBibliographyString{proceedings} +\NewBibliographyString{compilerandeditor}% +\NewBibliographyString{bycompilerandeditor}% +\NewBibliographyString{transof}% +\NewBibliographyString{volstodate}% +\NewBibliographyString{supptotitle}% +\NewBibliographyString{print}% +\NewBibliographyString{web}% +\NewBibliographyString{generaleditor}% + +\setlength{\bibitemsep}{0pt} +\renewcommand*{\mkbibnamesuffix}[1]{\addcomma\addlowpenspace#1} + +\DeclareNameAlias{author}{sortname} +\@ifpackagelater{biblatex}{2016/03/01}{% + \DeclareNameFormat{mla:last}{\nameparts{#1}\namepartfamily}% + \DeclareNameFormat{default}{% + \nameparts{#1}% + \ifgiveninits{% + \usebibmacro{name:given-family}{\namepartfamily}{\namepartgiveni}{\namepartprefix}{\namepartsuffix}% + }{% + \usebibmacro{name:given-family}{\namepartfamily}{\namepartgiven}{\namepartprefix}{\namepartsuffix}% + }% + \usebibmacro{name:andothers}% + }% +}{% + \DeclareNameFormat{mla:last}{#1}% + \DeclareNameFormat{default}{% + \iffirstinits{% + \usebibmacro{name:first-last}{#1}{#4}{#5}{#7}% + }{% + \usebibmacro{name:first-last}{#1}{#3}{#5}{#7}% + }% + \usebibmacro{name:andothers}% + }% +} + +\defbibenvironment{bibliography} + {\list + {} + {\setlength{\leftmargin}{\bibhang}% + \setlength{\itemindent}{-\leftmargin}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}}} + {\endlist} + {\item} + +\DeclareFieldFormat{title:article}{\mkbibquote{#1}}% +\DeclareFieldFormat{title:online}{\mkbibquote{#1}}% +\DeclareFieldFormat{title:inreference}{\mkbibquote{#1}}% +\DeclareFieldFormat{title:book}{\mkbibemph{#1}} +\DeclareFieldFormat{title:booklet}{\mkbibemph{#1}} +\DeclareFieldFormat{title:collection}{\mkbibemph{#1}} +\DeclareFieldFormat{title:incollection}{\mkbibquote{#1}}% +\DeclareFieldFormat{title:inbook}{\mkbibquote{#1}}% +\DeclareFieldFormat{title:inproceedings}{\mkbibquote{#1}}% +\DeclareFieldFormat{title:thesis}{\mkbibquote{#1}}% +\DeclareFieldFormat{title:reviewedbook}{\bibstring{reviewof}\addspace\mkbibemph{#1}}% +\DeclareFieldFormat{title:reference}{\mkbibemph{#1}}% +\DeclareFieldFormat{isbn}{} +\DeclareFieldFormat{pages}{\mkpageprefix[bookpagination]{#1}} +\DeclareFieldFormat[review]{volume}{#1}% +\DeclareFieldFormat[article]{volume}{#1}% +\DeclareListFormat[article]{location}% + {\unspace\mkbibbrackets{#1}\addspace}% +\DeclareFieldFormat[article]{version}{#1\isdot}% +\DeclareFieldFormat[incollection]{bibliography:origyear}{\openrangeformat{#1}\addperiod}% +\DeclareFieldFormat[video]{mla:publimedium}{\MakeCapital{film}}% +\DeclareFieldFormat{mla:publimedium}{\MakeCapital{#1}}% +\DeclareFieldFormat{mla:capital}{\MakeCapital{#1}}% +\DeclareFieldFormat{url}{% + \ifhyperref% + {\href{http://#1}{\nolinkurl{#1}}}% + {\url{#1}}}% +\DeclareFieldFormat{mla:lowercase}{\MakeLowercase{#1}}% +\DeclareFieldFormat{nameaddon}{\mkbibbrackets{#1}}% +\DeclareFieldFormat{issuetitle}{\mkbibemph{#1}} +\DeclareFieldFormat{mla:newspaper:section}{\bibstring{section}\addspace#1}% +\DeclareFieldFormat{library}{#1\isdot}% +\DeclareFieldFormat{reviewededitor}{\bibstring{byeditor}\addspace#1}% +\DeclareFieldFormat{reviewedauthor}{\bibstring{byauthor}\addspace#1}% +\DeclareFieldFormat{title:suppbook}{\mkbibquote{#1}} +\DeclareFieldFormat{openrangevolumes}{#1~\bibstring{volstodate}}% +\DeclareFieldFormat{volumeof}{\bibstring{volume}~#1~\bibstring{ofseries}}% +\DeclareFieldFormat{mla:sentence-case}{\MakeSentenceCase{#1}}% +\DeclareFieldFormat{eprinttype}{\mkbibemph{#1}} +\DeclareFieldFormat{eprint:jstor}{% + \iffieldundef{url}{% + \mkbibemph{JSTOR}\addcomma\space \printtext[url]{www.jstor.org/stable/#1}}{% + \mkbibemph{JSTOR}}} +\DeclareFieldFormat{eprint:hulu}{% + \iffieldundef{url}{% + \mkbibemph{Hulu}\addcomma\space \printtext[url]{www.hulu.com/watch/#1}}{% + \mkbibemph{Hulu}}} +\DeclareFieldFormat{eprint:googlebooks}{% + \iffieldundef{url}{% + \mkbibemph{Google Books}\addcomma\space \printtext[url]{books.google.com/books?id=#1}}{% + \mkbibemph{Google Books}}} +\DeclareFieldFormat{eprint:muse}{% + \iffieldundef{url}{% + \mkbibemph{Project Muse}\addcomma\space \printtext[url]{muse.jhu.edu/article/#1}}{% + \mkbibemph{Project Muse}}} +\DeclareFieldFormat{eprint}{\emph{#1}}% + +\DeclareFieldFormat{urldate}{#1}% +\DeclareFieldFormat[article,periodical,review]{volume}{\bibstring{volume}\ppspace#1}% volume of a journal +\DeclareFieldFormat[article,periodical,review]{number}{\bibstring{number}\ppspace#1}% number of a journal + +\DeclareBibliographyAlias{artwork}{article}% +\DeclareBibliographyAlias{audio}{article}% +\DeclareBibliographyAlias{booklet}{book} +\DeclareBibliographyAlias{bookinbook}{incollection}% +\DeclareBibliographyAlias{collection}{book} +\DeclareBibliographyAlias{reference}{book} +\DeclareBibliographyAlias{image}{article}% +\DeclareBibliographyAlias{inbook}{incollection}% +\DeclareBibliographyAlias{letter}{article}% +\DeclareBibliographyAlias{manual}{customa} +\DeclareBibliographyAlias{misc}{customa} +\DeclareBibliographyAlias{music}{audio}% +\DeclareBibliographyAlias{online}{article} +\DeclareBibliographyAlias{patent}{customa} +\DeclareBibliographyAlias{report}{customa} +\DeclareBibliographyAlias{suppcollection}{suppbook} + +\DeclareFieldAlias[online]{maintitle}{journaltitle} +\DeclareFieldAlias[book]{subtitle}{booksubtitle} +\DeclareFieldAlias[book]{title}{booktitle} + +\renewcommand*{\newunitpunct}{\addcomma\space} +\renewcommand*{\multilistdelim}{/} +\renewcommand*{\finallistdelim}{/} +\renewcommand*{\newblockpunct}{\addperiod\space} +\renewcommand*{\andothersdelim}{\ifcitation{}{\addcomma}\addspace} +\renewcommand*{\subtitlepunct}{\ifterm{}{\addcolon}\space} + +\newboolean{bbx@mla-incollection} +\newbool{bbx@inset} + +\DeclareBibliographyOption{dashed}[true]{% + \ifstrequal{#1}{true} + {\ExecuteBibliographyOptions{pagetracker}% + \renewbibmacro*{bbx:savehash}{\savefield{fullhash}{\bbx@lasthash}}} + {\ExecuteBibliographyOptions{pagetracker=false}% + \renewbibmacro*{bbx:savehash}{}}} + +\newboolean{bbx@annotation}% same as biblatex-dw +\DeclareBibliographyOption{annotation}[true]{% +\setbool{bbx@annotation}{#1}} + +\newboolean{bbx@totalnames} +\DeclareEntryOption{totalnames}[true]{% + \setbool{bbx@totalnames}{#1}} + +% for translated incollections where the collection has no shared translator +\newboolean{bbx@uniquetranslator}% +\DeclareEntryOption{uniquetranslator}[true]{% + \setbool{bbx@uniquetranslator}{#1}} + +\newbool{bbx:gnoreminfo}% +\setbool{bbx:gnoreminfo}{false} +\DeclareBibliographyOption{noremoteinfo}[true]{\setbool{bbx:gnoreminfo}{#1}} + +\newbool{bbx:lnoreminfo}% +\setbool{bbx:lnoreminfo}{false} +\DeclareEntryOption{noremoteinfo}[true]{\setbool{bbx:lnoreminfo}{#1}} + +\newtoggle{bbx:isan} +\DeclareBibliographyOption{isan}[true]{\settoggle{bbx:isan}{#1}}% + +\newtoggle{bbx:ismn} +\DeclareBibliographyOption{ismn}[true]{\settoggle{bbx:ismn}{#1}}% + +\newtoggle{bbx:isrn} +\DeclareBibliographyOption{isrn}[true]{\settoggle{bbx:isrn}{#1}}% + +\newtoggle{bbx:issn} +\DeclareBibliographyOption[boolean]{issn}[true]{\settoggle{bbx:issn}{#1}}% + +\newboolean{mla@nodate}% +\DeclareEntryOption{nodate}[true]{\setbool{mla@nodate}{#1}} + +\ExecuteBibliographyOptions{maxnames=2,datezeros=false,eprint=true}% + +\newrobustcmd{\openrangeformat}[1]{% + \begingroup% + \let\blx@org@rangedash=\bibrangedash% + \def\bibrangedash{% + \blx@org@rangedash% + \futurelet\@let@token\blx@openrangeformat}% + #1% + \endgroup} + +\newcommand*{\blx@openrangeformat}{% + \ifx\@let@token\endgroup% + \openrangemark% + \fi} + +\newcommand*{\openrangemark}{\mbox{ }}% + +\newbibmacro*{bbx:savehash}{% + \savefield{fullhash}{\bbx@lasthash}} + +\renewcommand*{\bibnamedash}{% suggested by StackExchange user Audrey + \mlanamedash% + \iffieldundef{nameaddon}{\addperiod\addspace}{\nopunct}}% + +\newcommand*{\mlanamedash}{-{}-{}-} + +\renewbibmacro*{author}{% + \ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}} + {\usebibmacro{bbx:dashcheck}% + {\bibnamedash}% + {\ifbool{bbx@totalnames}% + {\printnames[sortname][-\value{listtotal}]{author}} + {\printnames{author}}% + \usebibmacro{bbx:savehash}}% + \iffieldundef{nameaddon}% + {}% + {\setunit{\addspace}% + \printfield{nameaddon}}% + \iffieldundef{authortype}% + {}% + {\newunit% + \usebibmacro{authorstrg}}}% + {\global\undef\bbx@lasthash}} + +\renewbibmacro*{editor}{% + \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}% + {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND\NOT + \iffirstonpage}% + {\mbox{\mlanamedash\unspace\addcomma\addspace}}% + {\ifbool{bbx@totalnames}% + {\printnames[sortname][-\value{listtotal}]{editor}}% + {\printnames{editor}}% + \newunit% + \savefield{namehash}{\bbx@lasthash}}% + \usebibmacro{editorstrg}\clearname{editor}\setunit{\addperiod\space}}% + {\global\undef\bbx@lasthash}} + +\renewbibmacro*{editor+others}{% + \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}% + {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND\NOT + \iffirstonpage}% + {\mbox{\mlanamedash\unspace\addcomma\addspace}}% + {\ifbool{bbx@totalnames}% + {\printnames[sortname][-\value{listtotal}]{editor}}% + {\printnames[sortname]{editor}}% + \newunit% + \savefield{namehash}{\bbx@lasthash}}% + \usebibmacro{editor+othersstrg}\clearname{editor}}% + {\global\undef\bbx@lasthash}} + +\renewbibmacro*{translator}{% + \ifthenelse{\ifusetranslator\AND\NOT\ifnameundef{translator}}% + {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND\NOT + \iffirstonpage}% + {\mbox{\mlanamedash\unspace\addcomma\addspace}}% + {\ifbool{bbx@totalnames}% + {\printnames[sortname][-\value{listtotal}]{translator}}% + {\printnames[sortname]{translator}}% + \newunit% + \savefield{namehash}{\bbx@lasthash}}% + \usebibmacro{translatorstrg}\clearname{translator}}% + {\global\undef\bbx@lasthash}} + +\renewbibmacro*{translator+others}{% + \ifthenelse{\ifusetranslator\AND\NOT\ifnameundef{translator}}% + {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND\NOT + \iffirstonpage}% + {\mbox{\mlanamedash\unspace\addcomma\addspace}}% + {\ifbool{bbx@totalnames}% + {\printnames[sortname][-\value{listtotal}]{translator}}% + {\printnames[sortname]{translator}}% + \newunit% + \savefield{namehash}{\bbx@lasthash}}% + \usebibmacro{translator+othersstrg}\clearname{translator}}% + {\global\undef\bbx@lasthash}} + +\newbibmacro*{journal+issue+year+pages}{% + \usebibmacro{journal+ser+vol+num}% + \setunit{\addspace}% + \printtext[parens]{% + \iffieldundef{issue}% + {\iffieldundef{month}% + {\printfield{year}}% + {\iffieldundef{day}% + {\printfield{month}% + \setunit{\addspace}% + \printfield{year}}% + {\printtext{\bibdate}}}}% + {\printfield{issue}% + \setunit{\addspace}% + \printfield{year}}}% + \newunit% + \printfield{pages}} + +\renewbibmacro*{url+urldate}{% + \printfield[mla:capital:web]{url}\clearfield{url}% + \printunit{\addperiod\space}\newblock% + \iffieldundef{urlyear}{}{\printtext{Accessed}\space\printurldate\clearfield{urlyear}}% + } + +\newbibmacro*{mla:container:top}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\addperiod\space}\newblock% + \ifthenelse{% + \iffieldequalstr{entrytype}{suppbook}% + \OR% + \iffieldequalstr{entrytype}{suppcollection}}% + {\ifthenelse{\iffieldundef{title}}{\printfield[mla:capital]{entrysubtype}}{\usebibmacro{title}}% + \printunit{\addperiod\space}\newblock% + \newunit}% + {\usebibmacro{maintitle+booktitle}}% + \printunit{\addperiod\space}\newblock% + } + +\newbibmacro*{mla:container:one}{% + \usebibmacro{mla:article:journal+issuetitle}% + \newunit\newblock + \printfield{note}% + \newunit% + \printfield{pages}% + \newunit% + \ifthenelse{\iffieldundef{eprinttype} \OR \(\iffieldundef{eprinttype} \AND \iffieldundef{eprint}\)} + {\usebibmacro{url+urldate}}% + {}% + \printunit{\addperiod\space}\newblock% + } + +\newbibmacro*{mla:container:two}{% + \usebibmacro{mla:isbn/issn+doi+eprint}% + \newunit\newblock + \usebibmacro{url+urldate}% + \newunit\newblock + \printfield{addendum}% + \printunit{\addperiod\space}\newblock% + \usebibmacro{pageref}% + } + +\DeclareBibliographyDriver{book}{% + \usebibmacro{mla:container:top}% + \printunit{\addperiod\space}\newblock% + \usebibmacro{bytranslator+others}% + \newunit% + \usebibmacro{byeditor+others}% + \newunit% + \printfield{edition}\isdot% + \newunit% + \iffieldundef{maintitle}{\printfield{volume}\printfield{part}}{}% + \newunit% + \iffieldundef{volume}{\printfield{volumes}\clearfield{volumes}}{}%% + \newunit% + \usebibmacro{series+number}% + \newunit% + \printfield{note}% + \newunit% + \printlist{publisher}% + \newunit% + \printdate% + \newunit% + \printfield{pages}% + \newunit% + \usebibmacro{mla:isbn/issn+doi+eprint}% + \newunit% + \iffieldundef{origtitle}% + {}% + {\usebibmacro{mla:reprint}}% + \newunit% + \iffieldundef{volumes}% + {}% + {\usebibmacro{mla:multivolumes}}% + \newunit% + \printfield[mla:sentence-case]{addendum}% + \newunit% + \usebibmacro{pageref}% + \newunit% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{article}{% + \usebibmacro{mla:container:top}% + \printunit{\addperiod\space}\newblock% + \usebibmacro{mla:container:one}% + \printunit{\addperiod\space}\newblock% + \usebibmacro{mla:container:two}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{periodical}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\addperiod\space}\newblock% + \usebibmacro{mla:article:journal+issuetitle}% + \newunit\newblock% + \printfield{note}% + \newunit% + \printfield{pages}% + \newunit\newblock% + \usebibmacro{mla:isbn/issn+doi+eprint}% + \newunit\newblock% + \usebibmacro{url+urldate}% + \newunit\newblock% + \printfield{addendum}% + \newunit\newblock% + \usebibmacro{pageref}% + \newunit% + \usebibmacro{finentry}} + +\newbibmacro*{mla:reprint}{% + \iffieldundef{origtitle}% + {\newunit}% + {\iffieldundef{origlanguage} + {\setunit{\newunitpunct\bibstring{reprintof}\addspace}}% + {\setunit{\newunitpunct\bibstring{transof}\addspace}}% +}% + \printfield[title:\strfield{entrytype}]{origtitle}% + \newunit\newblock% + \printlist{origlocation}\clearlist{origlocation}% + \setunit*{\addcolon\addspace}% + \printlist{origpublisher}\clearlist{origpublisher}% + \newunit% + \ifbool{bbx@mla-incollection}% + {\printfield[bibliography:origyear]{origyear}\clearfield{origyear}}% + {\ifthenelse{\iffieldundef{volume}\OR\iffieldundef{volumes}}% + {\printorigdate\clearfield{origyear}}% + {}% + }% +} + +\newbibmacro*{mla:multivolumes}{% + \iffieldundef{maintitle}% + {}% + {\printfield[volumeof]{volume}% + \setunit{\addspace}% + \usebibmacro{maintitle}}% + \usebibmacro{mla:generaleditor}% + \iffieldequalstr{eventendyear}{}% + {\printfield[openrangevolumes]{volumes}\clearfield{volumes}}% + {\printfield{volumes}\clearfield{volumes}}% + \newunit\newblock% + \printeventdate\clearfield{eventyear}% +} + + +\renewbibmacro*{byeditorx}{% + \usebibmacro{byeditorx:internal}{a}% + \usebibmacro{byeditorx:internal}{b}% + \usebibmacro{byeditorx:internal}{c}% +} + +\newbibmacro*{byeditorx:internal}[1]{% + \ifnameundef{editor#1} + {} + {\iffieldequalstr{editor#1type}{generaleditor} + {} + {\usebibmacro{bytypestrg}{editor#1}{editor}% + \setunit{\addspace}% + \printnames[byeditor#1]{editor#1}% + \newunit}}% +} + +\newbibmacro*{mla:generaleditor}{% + \usebibmacro{mla:generaleditor:internal}{}% + \usebibmacro{mla:generaleditor:internal}{a}% + \usebibmacro{mla:generaleditor:internal}{b}% + \usebibmacro{mla:generaleditor:internal}{c}% +} + +\newbibmacro*{mla:generaleditor:internal}[1]{% + \iffieldequalstr{editor#1type}{generaleditor}% + {\printnames{editor#1}% + \newunit% + \bibstring{generaleditor}% + \newunit}% + {}% +} + +\newbibmacro*{mla:isbn/issn+doi+eprint}{% + \iftoggle{bbx:isan}{\printfield{isan}\clearfield{isan}}{}% + \newunit\newblock% + \iftoggle{bbx:isbn}{\printfield{isbn}\clearfield{isbn}}{}% + \newunit\newblock% + \iftoggle{bbx:ismn}{\printfield{ismn}\clearfield{ismn}}{}% + \newunit\newblock% + \iftoggle{bbx:isrn}{\printfield{isrn}\clearfield{isrn}}{}% + \newunit\newblock% + \iftoggle{bbx:issn}{\printfield{issn}\clearfield{issn}}{}% + \newunit\newblock% + \iftoggle{bbx:doi}{\printfield{doi}\clearfield{doi}}{}% + \newunit\newblock% + \iftoggle{bbx:eprint}{\usebibmacro{eprint+extra}}{}% + \newunit\newblock} + +\newbibmacro*{eprint+extra}{% + \iffieldundef{eprinttype} + {\printfield{eprint}} + {\iffieldundef{eprint} + {\printfield{eprinttype}} + {\printfield[eprint:\strfield{eprinttype}]{eprint}}}} + +\DeclareBibliographyDriver{suppbook}{% + \usebibmacro{mla:container:top}% + \newunit\newblock + \iffieldundef{crossref}% + {\iffieldundef{xref}% + {\usebibmacro{mla:incollection:internal}}% + {\bbx@crossref{\thefield{xref}}% + \setunit{\addspace}% + \printfield{pages}}}% + {\bbx@crossref{\thefield{crossref}}% + \setunit{\addspace}% + \printfield{pages}% + \newunit}% + \newunit% + \usebibmacro{finentry}} + +\DeclareCiteCommand{\bbx@crossref}% + {} + {\ifsingletitle% + {\printtext[bibhyperref]{\printnames{labelname}}% + \setunit{\space}}% + {\printnames{labelname}% + \newunit% + \printtext[bibhyperref]{\printfield[citetitle:book]{labeltitle}} + \setunit{\space}}}% + {}% + {} + +\DeclareBibliographyDriver{incollection}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\addperiod\space}\newblock% + \ifthenelse{% + \iffieldequalstr{entrysubtype}{book}% + \OR% + \iffieldequalstr{entrysubtype}{play}% + \OR% + \iffieldequalstr{entrytype}{bookinbook}}% + {\usebibmacro{title:incollection:italics}}% + {\setbool{bbx@mla-incollection}{true}% + \usebibmacro{title}% + \setbool{bbx@mla-incollection}{false}}% + \newunit\newblock% + \ifbool{bbx@uniquetranslator}% + {\usebibmacro{bytranslator+others}\newunit}% + {}% + \newunit\newblock% + \iffieldundef{crossref}% + {\iffieldundef{xref}% + {\usebibmacro{mla:incollection:internal}}% + {\bbx@crossref{\thefield{xref}}% + \setunit{\addspace}% + \printfield{pages}}}% + {\bbx@crossref{\thefield{crossref}}% + \setunit{\addspace}% + \printfield{pages}% + \newunit}% + \newunit% + \usebibmacro{finentry}} + +\newbibmacro*{mla:incollection:internal}{% + \setbool{bbx@mla-incollection}{true}% + \usebibmacro{maintitle+booktitle}% + \ifthenelse{% + \iffieldequalstr{entrytype}{suppbook}% + \OR% + \iffieldequalstr{entrytype}{suppcollection}}% + {\setunit{\newunitpunct\bibstring{byauthor}\addspace}% + \ifnamesequal{labelname}{bookauthor}% + {\printnames[mla:last]{bookauthor}}% + {\printnames[byauthor]{bookauthor}}}% + {}% + \newunit\newblock% + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{edition}\isdot% + \newunit + \iffieldundef{maintitle}% + {\printfield{volume}\printfield{part}}% + {}% + \newunit + \iffieldundef{volume}% + {\printfield{volumes}\clearfield{volumes}}% + {}%% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \newunit% + \usebibmacro{chapter+pages}% + \newunit% + \usebibmacro{mla:isbn/issn+doi+eprint}% + \newunit% + \usebibmacro{url+urldate}% + \newunit% + \iffieldundef{volumes}% + {}% + {\usebibmacro{mla:multivolumes}}% + \newunit% + \printfield{addendum}% + \newunit% + \usebibmacro{pageref}% + \setbool{bbx@mla-incollection}{false}} + +\DeclareBibliographyDriver{inproceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\addperiod\space}\newblock% + \usebibmacro{title}% + \setunit{\addperiod\space}\newblock% + \usebibmacro{mla:proceedings:booktitle}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \printfield{addendum}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{proceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\addperiod\space}\newblock% + \usebibmacro{mla:proceedings:booktitle}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \printfield{addendum}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{unpublished}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\addperiod\space}\newblock% + \usebibmacro{title}% + \setunit{\addperiod\space}\newblock% + \printfield{note}% + \newunit\newblock + \usebibmacro{mla:all:type}% + \newunit\newblock + \printfield{number}% + \newunit\newblock + \printfield{library}% + \newunit% + \printlist{location}% + \newunit\newblock + \printfield{addendum}% + \newunit% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{thesis}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\addperiod\space}\newblock% + \usebibmacro{title}% + \setunit{\addperiod\space}\newblock% + \usebibmacro{mla:thesis:type}% + \newunit\newblock + \printlist{institution}% + \newunit% + \iffieldequalstr{entrysubtype}{published}% + {\printfield{origyear}\clearfield{origyear}}% + {\printfield{year}}% + \newunit\newblock + \iffieldequalstr{entrysubtype}{published}% + {\usebibmacro{series+number}% + \newunit% + \printlist{location}% + \setunit{\addcolon\addspace}% + \printlist{publisher}% + \newunit% + \printfield{year}}% + {}% + \newunit\newblock + \printfield{addendum}% + \newunit\newblock + \newunit% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{review}{% + \usebibmacro{bibindex}% + \usebibmacro{author}% + \setunit{\addperiod\space}\newblock% + \printfield[title:article]{title}% + \setunit{\addperiod\space}\newblock% + \printfield[title:reviewedbook]{booktitle}% + \newunit% + \ifnameundef{bookauthor}% + {\printtext[reviewededitor]{\printnames[default]{editor}}}% + {\printtext[reviewedauthor]{\printnames[default]{bookauthor}}}% + \setunit{\addperiod\space}\newblock% + \usebibmacro{mla:container:one}% + \setunit{\addperiod\space}\newblock% + \usebibmacro{mla:container:two}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{inreference}{% + \usebibmacro{bibindex}% + \usebibmacro{author}% + \setunit{\addperiod\space}\newblock% + \usebibmacro{title}% + \setunit{\addperiod\space}\newblock% + \iffieldundef{crossref}% + {\iffieldundef{xref}% + {\newunit\newblock + \usebibmacro{maintitle+booktitle}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \iffieldsequal{year}{edition}% + {\printfield{year}~\bibstring{edition}\clearfield{year}}% + {\printfield{edition}\isdot}% + \newunit + \iffieldundef{maintitle}% + {\printfield{volume}% + \printfield{part}}% + {}% + \newunit + \printfield{volumes}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \usebibmacro{mla:isbn/issn+doi+eprint}% + \newunit\newblock + \usebibmacro{url+urldate}% + \newunit\newblock + \printfield{addendum}% + \newunit\newblock + \usebibmacro{pageref}}% + {}}% + {\bbx@crossref{\thefield{crossref}}% + \nopunct\unspace\printfield{pages}}% + \newunit% + \usebibmacro{finentry}} + +\newbibmacro{mlabelnamepunct}{\setunit{\labelnamepunct}\newblock} + +\newbibmacro{mla:video:localized:last-first}[1]{% + \ifnameundef{#1}% + {}% + {\printnames{#1}\addcomma\addspace% + \ifthenelse{\iffieldbibstring{#1type} \and \not % + \iffieldundef{#1type}}% + {\bibstring{\thefield{#1type}}}% + {\iffieldundef{#1type}% + {\bibstring{with}}% + {\printfield[mla:lowercase]{#1type}}}}% +\newunit}% + +\newbibmacro{mla:video:name:first:footnote}[1]{% + \ifnameundef{#1}% + {}% + {\printnames[byeditor]{#1}\addcomma\addspace% + \ifthenelse{\iffieldbibstring{#1type} \and \not % + \iffieldundef{#1type}}% + {\bibstring{\thefield{#1type}}}% + {\iffieldundef{#1type}% + {\bibstring{with}}% + {\printfield[mla:lowercase]{#1type}}}}% + \clearname{#1}% +} + +\newbibmacro{mla:video:localized:first-last}[1]{% + \ifnameundef{#1}% + {}% + {\ifthenelse{\iffieldbibstring{#1type} \and \not % + \iffieldundef{#1type} \and \not % + \iffieldequalstr{#1type}{composer}}% + {\bibstring{\thefield{#1type}}}% + {\iffieldundef{#1type}% + {\bibstring{with}}% + {\iffieldequalstr{#1type}{composer}% + {\bibstring{composedby}}% + {\printfield[mla:capital]{#1type}}}}% + \addspace\printnames[byeditor][-\value{listtotal}]{#1}}% +\newunit}% + +\newbibmacro{mla:video:name:second:footnote}[1]{% + \ifnameundef{#1}% + {}% + {\ifthenelse{\iffieldbibstring{#1type} \and \not % + \iffieldundef{#1type} \and \not % + \iffieldequalstr{#1type}{composer}}% + {\bibstring{\thefield{#1type}}}% + {\iffieldundef{#1type}% + {\bibstring{with}}% + {\iffieldequalstr{#1type}{composer}% + {\bibstring{composedby}}% + {\printfield[mla:lowercase]{#1type}}}}% + \addspace\printnames[byeditor][-\value{listtotal}]{#1}% + }}% + +\DeclareBibliographyDriver{video}{% + \ifnamesequal{labelname}{author}% + {\usebibmacro{mla:video:localized:last-first}{author}}{}% + \ifnamesequal{labelname}{editor}% + {\usebibmacro{mla:video:localized:last-first}{editor}}{}% + \printfield{title}% + \setunit{\newunitpunct\bibstring{byauthor}\addspace}% + \printnames[byeditor]{bookauthor}% + \newunit% + \ifthenelse{\NOT\ifnamesequal{author}{labelname}% + \AND\NOT\ifnameundef{author}}% + {\usebibmacro{mla:video:localized:first-last}{author}}% + {}% + \ifthenelse{\NOT\ifnamesequal{editor}{labelname}% + \AND\NOT\ifnameundef{editor}}% + {\usebibmacro{mla:video:localized:first-last}{editor}}% + {}% + \usebibmacro{mla:video:localized:first-last}{namea}% + \usebibmacro{mla:video:localized:first-last}{nameb}% + \usebibmacro{mla:video:localized:first-last}{namec}% + \printfield{origyear}\clearfield{origyear}% + \newunit\newblock% + \printlist{publisher}% + \newunit% + \printfield{year}% + \newunit\newblock% + \usebibmacro{finentry}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % % % % % % % % % % % % % % % % % % % % % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% drivers to add eventually: +% * \DeclareBibliographyDriver{misc} +% * \DeclareBibliographyDriver{artwork} +% * \DeclareBibliographyDriver{audio} +% * \DeclareBibliographyDriver{image} +% * \DeclareBibliographyDriver{movie} +% * \DeclareBibliographyDriver{music} +% * \DeclareBibliographyDriver{performance} +% +% Specifically important mainstay types to add for MLA users +% 0 support for multiple publishers? % can't do with bibtex +% * editorial +% * letter (to the editor, etc.) +% * interview + +\newbibmacro*{mtitle+mstitle+vol+part+title+stitle}{% + \iffieldundef{maintitle}% + {}% + {\printtext[maintitle]{% + \printfield[noformat]{maintitle}% + \newunit + \printfield[noformat]{mainsubtitle}}% + \newunit + \printfield{maintitleaddon}% + \newunit\newblock + \iffieldundef{volume}% + {}% + {\printfield{volume}% + \printfield{part}% + \setunit{\addcolon\space}}}% + \usebibmacro{title+stitle}} + +\renewbibmacro*{series+number}{% + \iffieldundef{series}% + {}% + {\printfield{series}\clearfield{series}\setunit*{\addspace}\printfield{number}}% +} + +\renewbibmacro*{title}{% + \iffieldequalstr{entrytype}{thesis}% + {\usebibmacro{mla:title:thesis}}% + {\iffieldequalstr{entrytype}{unpublished}% + {\usebibmacro{mla:title:unpublished}}% + {\usebibmacro{title+stitle}}}}% + +\renewbibmacro*{publisher+location+date}{% + % \printlist{location}% platypus - removed for 1.9... add an option to 2.0 for printing location + % \iflistundef{publisher}% + % {\setunit*{\addcomma\space}}% + % {\setunit*{\addcolon\space}}% + \printlist{publisher}% + \newunit% + \ifbool{mla@nodate}{\printtext{n.d.}}% + \printdate% + \newunit} + +\newbibmacro*{mla:title:unpublished}{% + \ifthenelse{\iffieldundef{author} \AND \iffieldundef{nameaddon}}% + {\unspace}% + {}% + \iffieldundef{title}% + {}% + {\printtext[title:article]{% + \printfield[noformat]{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}}}% + \newunit + \printtext[title:book]{% + \printfield[noformat]{booktitle}% + \setunit{\subtitlepunct}% + \printfield[noformat]{booksubtitle}}% + \newunit + \ifcitation% + {\printfield[mla:lowercase]{titleaddon}}% + {\printfield{titleaddon}}% + \newunit} + +\newbibmacro*{name:first-last:andothers}{% + \ifthenelse{\value{listcount}=\value{liststop}\AND + \ifmorenames} + {\ifnum\value{liststop}>1 \finalandcomma\fi + \addspace\bibstring{andothers}} + {}} + +\newbibmacro*{mla:title:thesis}{% + \iffieldundef{title}% + {}% + {\iffieldequalstr{entrysubtype}{published}% + {\printtext[title:book]{% + \printfield[noformat]{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}}}% + {\printtext[title:\strfield{entrytype}]{% + \printfield[noformat]{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}}}% + \newunit% + \printfield{titleaddon}% + \newunit\newblock}} + +\newbibmacro*{mla:thesis:type}{% + \iffieldundef{type}% + {\printtext[mla:capital]{\bibstring{phdthesis}}}% + {\usebibmacro{mla:all:type}}}% + +\newbibmacro*{mla:all:type}{% + \ifbibstring{\thefield{type}}% + {\printtext[mla:capital]{\bibstring{\thefield{type}}}}% + {\printtext[mla:capital]{\printfield{type}}}}% + +\newbibmacro*{mla:all:type:foot}{% + \ifbibstring{\thefield{type}}% + {\printtext[noformat]{\bibstring{\thefield{type}}}}% + {\printtext[noformat]{\printfield{type}}}}% + +\renewbibmacro*{maintitle+title}{% + \usebibmacro{title}% + \newunit% + \iffieldsequal{maintitle}{title}% + {\clearfield{maintitle}% + \clearfield{mainsubtitle}% + \clearfield{maintitleaddon}}% + {}% + \iffieldundef{volume}% + {\usebibmacro{maintitle}}% + {}% + \iffieldundef{maintitle}% + {\printfield{volume}\clearfield{volume}}% + {}% + \newunit} + +\renewbibmacro*{maintitle+booktitle}{% + \usebibmacro{booktitle}% + \printunit*{\addperiod\space}% + \iffieldundef{maintitle}% + {}% + {\usebibmacro{maintitle}% + \newunit% + \iffieldundef{volume}% + {}% + {\printfield{volume}% + \printfield{part}% + \setunit{\addcolon\space}}}% + \printunit*{\addperiod\space}} + +\renewbibmacro*{booktitle}{% + \ifboolexpr{ + test {\iffieldundef{booktitle}} + and + test {\iffieldundef{booksubtitle}} + } + {\usebibmacro{title}} + {\printtext[booktitle]{% + \printfield[titlecase]{booktitle}% + \setunit{\subtitlepunct}% + \printfield[titlecase]{booksubtitle}}% + \newunit}% + \printfield{booktitleaddon}} + +\newbibmacro*{mla:proceedings:booktitle}{% + \usebibmacro{booktitle}% + \newunit% + \iffieldundef{eventtitle}% + {}% + {\printtext[default]{% + \bibstring{proceedings}\addspace\bibstring{ofseries}\addspace% + \printfield[default]{eventtitle}\isdot}}% + \setunit*{\isdot\addcomma\addspace}% + \printlist{organization}% + \newunit% + \printeventdate% + \newunit% + \printlist{institution}% + \newunit% + \printfield{venue}} + +\newbibmacro*{title+stitle}{% + \iffieldundef{title}% + {\ifthenelse{% + \iffieldequalstr{entrytype}{suppbook}% + \OR% + \iffieldequalstr{entrytype}{suppcollection}}% + {}% + {\printtext[title:\strfield{entrytype}]{% + \printfield[noformat]{booktitle}% + \setunit*{\subtitlepunct}% + \printfield[noformat]{booksubtitle}}}}% + {\printtext[title:\strfield{entrytype}]{% + \printfield[noformat]{title}% + \setunit*{\subtitlepunct}% + \printfield[noformat]{subtitle}}}% + \printunit{\addperiod\space}% + \printfield[noformat]{titleaddon}% + \newunit% + \usebibmacro{byauthor}% + \iffieldundef{origtitle}% + {\usebibmacro{mla:reprint}}% + {}% +}% + +\newbibmacro*{title:incollection:italics}{% + \iffieldundef{title}% + {}% + {\printtext[title:book]{% + \printfield[noformat]{title}% + \setunit*{\subtitlepunct}% + \printfield[noformat]{subtitle}}% + \newunit% + \printfield[noformat]{titleaddon}% + \newunit% + \setbool{bbx@mla-incollection}{true}\usebibmacro{mla:reprint}\setbool{bbx@mla-incollection}{false}% + \newunit\newblock}} + +\newbibmacro*{mla:article:journal+issuetitle}{% + \usebibmacro{issue}% + \newunit\newblock% + \iffieldundef{issuetitle}% + {}% + {\usebibmacro{byeditor+others}% + \newunit\newblock% + \bibstring{specissue}\setunit*{\addspace}}% + \ifthenelse{\iffieldequalstr{entrytype}{periodical} \AND \iffieldundef{journaltitle}}% + {\usebibmacro{periodical}}% + {\usebibmacro{journal}}% + \ifthenelse{\iffieldequalstr{entrytype}{online}}{\usebibmacro{mla:online}}{\setunit*{\addspace}}% + \ifthenelse{\iffieldequalstr{entrysubtype}{newspaper} \or \iffieldequalstr{entrysubtype}{magazine} \or \iffieldequalstr{entrytype}{online}}% + {\printlist[brackets]{location}% + \newunit% + \printtext{\printdate}% + \newunit% + \printfield{version}% + \newunit% + \printfield[mla:newspaper:section]{chapter}% + }% + {\printfield{series}\clearfield{series}% + \newunit% + \printfield{volume}% + \newunit% + \printfield{number}\clearfield{number}% + \newunit% + \usebibmacro{issue+date}% + \newunit\newblock + \newunit}% +} + +\newbibmacro*{mla:online}{% + \iffieldundef{maintitle}% + {}% + {\printtext[maintitle]{% + \printfield[titlecase]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[titlecase]{mainsubtitle}}}% + \newunit\newblock% + \printlist{publisher}% + \newunit% +} + +\renewbibmacro*{journal+issuetitle}{% + \usebibmacro{journal}% + \setunit*{\addspace}% + \ifthenelse{\iffieldequalstr{entrysubtype}{newspaper} \or \iffieldequalstr{entrysubtype}{magazine}}% + {\printlist[brackets]{location}% + \printtext{\printdate}% + \newunit% + \printfield{version}% + \newunit% + \printfield[mla:newspaper:section]{chapter}% + }% + {\printfield{series}\clearfield{series}% + \setunit{\addspace}% + \printfield{volume}% + \newunit% + \printfield{number}\clearfield{number}% + \newunit% + \usebibmacro{mla:isbn/issn+doi+eprint}% + \newunit% + \usebibmacro{issue+date}% + \newunit\newblock + \usebibmacro{issue}% + \newunit}} + +\renewbibmacro*{issue+date}{% + \printtext{% + \iffieldundef{issue} + {\usebibmacro{date}} + {\printfield{issue}% + \setunit*{\addspace}% + \usebibmacro{date}}}% + \newunit} + +\renewbibmacro{finentry}{% + \finentry% + \iffieldundef{annotation}% + {}% + {\ifbool{bbx@annotation}% + {\begin{quotation}\noindent% + \printfield{annotation}% + \end{quotation}}% + {}}% +} + +% \newbibmacro{publimedium}{% +% \ifbool{bbx@publimedium}% +% {\printfield[mla:capital]{howpublished}% +% \ifthenelse{\iffieldundef{howpublished}\AND\boolean{bbx@guessmedium}}% +% {\ifthenelse{\iffieldundef{url}\AND\iffieldundef{eprinttype}}% +% {\printtext[mla:publimedium]{\bibstring{print}}}% +% {\iffieldundef{eprinttype}% +% {\printfield{eprint}}% +% {\printfield[eprint:\strfield{eprinttype}]{eprint}}% +% \newunit% +% \usebibmacro{url+urldate}% +% }% +% }% +% {}%-keep-blank +% \newunit% +% \usebibmacro{series+number}}% +% \newunit% +% \usebibmacro{mla:reprint}% +% {}%-keep-blank +% } + +\newbibmacro*{bbx:dashcheck}[2]{% + \ifboolexpr{ + test {\iffieldequals{fullhash}{\bbx@lasthash}} + and + not test \iffirstonpage + and + ( + not bool {bbx@inset} + or + test {\iffieldequalstr{entrysetcount}{1}} + ) + } + {#1} + {#2}} + +\DeclareStyleSourcemap{ + \maps[datatype=bibtex]{ + \map{ + \step[fieldsource=publisher, match={University Press}, replace={UP}] + \step[fieldsource=publisher, match={University}, replace={U}] + \step[fieldsource=publisher, match={Press}, replace={P}] + \step[fieldsource=publisher, match=\regexp{Company|Co\.|Corporation|Corp\.|Incorporated|Inc\.|Limited|Ltd\.}, replace={}] + \step[fieldsource=url, match=\regexp{http(s)?://}, replace={}] + } + \map{% JSTOR + \step[fieldsource=url, match={jstor.org}, final] + \step[fieldset=eprint, fieldvalue={JSTOR}] + % \step[fieldset=urldate, null] + } + \map{% Project Muse + \step[fieldsource=url, match={muse.jhu.edu}, final] + \step[fieldset=eprint, fieldvalue={Project Muse}] + % \step[fieldset=urldate, null] + } + \map{% Adelaide eBooks + \step[fieldsource=url, match={ebooks.adelaide.edu.au}, final] + \step[fieldset=eprint, origfieldval] + \step[fieldset=eprinttype, fieldvalue={adelaide}] + % \step[fieldset=urldate, null] + } + \map{% Google Books + \step[fieldsource=url, match={books.google}, final] + \step[fieldset=eprint, fieldvalue={Google Books}] + % \step[fieldset=urldate, null] + } + \map{% EBSCO - Academic Search Complete + \step[fieldsource=url, match={db=a9h}, final] + \step[fieldset=eprint, fieldvalue={Academic Search Complete}] + % \step[fieldset=urldate, null] + } + \map{% EBSCO - LexisNexis Academic + \step[fieldsource=url, match={db=fdcaae48}, final] + \step[fieldset=eprint, fieldvalue={LexisNexis Academic}] + % \step[fieldset=urldate, null] + } + \map{% EBSCO - MLA Database + \step[fieldsource=url, match={db=mzh}, final] + \step[fieldset=eprint, fieldvalue={MLA International Bibliography}] + % \step[fieldset=urldate, null] + } + \map{ + \step[fieldsource=url, match=\regexp{dx.doi.org/(.+)}, fieldtarget=doi] + \step[fieldsource=doi, match=\regexp{http(s)?://dx.doi.org/(.+)}, replace=\regexp{$1}] + \step[fieldsource=doi, match=\regexp{dx.doi.org/(.+)}, replace=\regexp{$1}] + } + \map{ % removes url + urldate field from all entries that have a doi field + \step[fieldsource=doi, final] + \step[fieldset=url, null] + \step[fieldset=urldate, null] + } + % \map{ % removes url + urldate field from all entries that have an eprint field + % \step[fieldsource=eprint, final] + % \step[fieldset=urldate, null] + % } + } +} + +\endinput + + +\endinput |