% mla.bbx, v1.9 2016/11/01 * compatible with biblatex 3.4 % Maintained at 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: . % % 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