% This bbx file is provided for minimal compatibility with bibliographic entries described by the 7th edition of the MLA Handbook (2009). This style was superseded by a major redesign in the 8th edition in 2016, which was further clarified by the 9th edition in 2021. To use this older version, set "style=mla7" in the biblatex package options. To use the current version of the handbook, set "style=mla" for best outcomes. Biblatex-mla support and updates will prioritize the most recent edition of the MLA Handbook. \ProvidesFile{mla7.bbx}[2022/02/22 v2.1a 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{url}{$<$\url{#1}$>$}% suggested by Jay Savage \DeclareFieldFormat{isbn}{} \DeclareFieldFormat{pages}{#1}% \DeclareFieldFormat[review]{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{mla:capital:web}{% \ifhyperref% {\href{#1}{\MakeCapital{\bibstring{web}}}}% {\MakeCapital{\bibstring{web}}}}% \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{eprint:jstor}{% \ifhyperref% {\href{http://www.jstor.org/stable/#1}{\emph{JSTOR}}}% {\emph{JSTOR}}}% \DeclareFieldFormat{eprint:googlebooks}{% \ifhyperref% {\href{http://books.google.com/books?id=#1}{\emph{Google Books}}}% {\emph{Google Books}}} \DeclareFieldFormat{eprint:adelaide}{% \ifhyperref% {\href{#1}{\emph{eBooks@Adelaide}}}% {\emph{eBooks@Adelaide}}} \DeclareFieldFormat{eprint:muse}{%5 \ifhyperref% {\href{#1}{\emph{Project Muse}}}% {\emph{Project Muse}}} \DeclareFieldFormat{urldate}{#1}% \DeclareBibliographyAlias{booklet}{book} \DeclareBibliographyAlias{bookinbook}{incollection}% \DeclareBibliographyAlias{collection}{book} \DeclareBibliographyAlias{reference}{book} \DeclareBibliographyAlias{inbook}{incollection}% \DeclareBibliographyAlias{manual}{customa} \DeclareBibliographyAlias{misc}{customa} \DeclareBibliographyAlias{online}{article} \DeclareBibliographyAlias{patent}{customa} \DeclareBibliographyAlias{report}{customa} \DeclareBibliographyAlias{suppcollection}{suppbook} \DeclareFieldAlias[online]{maintitle}{journaltitle} \renewcommand*{\newunitpunct}{\addperiod\space} \renewcommand*{\andothersdelim}{\ifcitation{}{\addcomma}\addspace} \renewcommand*{\bibpagespunct}{\addperiod\space} \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]{% \setboolean{bbx@annotation}{#1}} \newboolean{bbx@totalnames} \DeclareEntryOption{totalnames}[true]{% \setboolean{bbx@totalnames}{#1}} % for translated incollections where the collection has no shared translator \newboolean{bbx@uniquetranslator}% \DeclareEntryOption{uniquetranslator}[true]{% \setboolean{bbx@uniquetranslator}{#1}} \newbool{bbx:gnoreminfo}% \setboolean{bbx:gnoreminfo}{false} \DeclareBibliographyOption{noremoteinfo}[true]{\setboolean{bbx:gnoreminfo}{#1}} \newbool{bbx:lnoreminfo}% \setboolean{bbx:lnoreminfo}{false} \DeclareEntryOption{noremoteinfo}[true]{\setboolean{bbx:lnoreminfo}{#1}} \newbool{bbx@publimedium}% \setboolean{bbx@publimedium}{true}% \DeclareBibliographyOption{showmedium}[true]{\setboolean{bbx@publimedium}{#1}}% \newbool{bbx@guessmedium}% \setboolean{bbx@guessmedium}{true} \DeclareBibliographyOption{guessmedium}[true]{\setboolean{bbx@guessmedium}{#1}}% \newboolean{bbx@nodate}% \DeclareEntryOption{nodate}[true]{% \setboolean{bbx@nodate}{#1}} % 0.7.1 for years with open range \newrobustcmd{\openrangeformat}[1]{% 0.7.1 \begingroup% \let\blx@org@rangedash=\bibrangedash% \def\bibrangedash{% \blx@org@rangedash% \futurelet\@let@token\blx@openrangeformat}% #1% \endgroup} % 0.7.1 for years with open range \newcommand*{\blx@openrangeformat}{% 0.7.1 \ifx\@let@token\endgroup% \openrangemark% \fi} % 0.7.1 for years with open range \newcommand*{\openrangemark}{\mbox{ }}% 0.7.1 \newbibmacro*{bbx:savehash}{% \savefield{fullhash}{\bbx@lasthash}} \renewcommand*{\bibnamedash}{% suggested by StackExchange user Audrey \mlanamedash% \iffieldundef{nameaddon}{\setunit{\adddot\addspace}}{\nopunct}}% \newcommand*{\mlanamedash}{\printtext{\textendash\textendash\textendash}} \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}% {}% {\setunit{\addcomma\space}% \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}}% \setunit{\addcomma\space}% \savefield{namehash}{\bbx@lasthash}}% \usebibmacro{editorstrg}\clearname{editor}}% {\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}}% \setunit{\addcomma\space}% \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}}% \setunit{\addcomma\space}% \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}}% \setunit{\addcomma\space}% \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}}}% \addcolon\addspace \printfield{pages}} \renewbibmacro*{date}{\printdate}% \renewbibmacro*{url+urldate}{% \ifthenelse{\boolean{bbx@publimedium}\AND\NOT \(\iffieldundef{url} \AND \iffieldundef{eprint}\)}% {\printfield[mla:capital:web]{url}\newunit}% {\iffieldundef{urlyear}{}{\setunit{\addspace}}}% \iffieldundef{urlyear}% {}% {\printtext{\printurldate}% \setunit{\addspace}}% Suggested by Stephen Brumbaugh \ifthenelse{\boolean{bbx@publimedium}\AND\NOT\iffieldundef{url}}% {\ifthenelse{\boolean{bbx:gnoreminfo}}% {}% {\setunit{\newunitpunct}% \printfield{url}}}% {\printfield{url}}% } \DeclareBibliographyDriver{periodical}{% \usebibmacro{bibindex}% \usebibmacro{author/editor+others/translator+others}% \setunit{\labelnamepunct}\newblock% \usebibmacro{mla:article:journal+issuetitle}% \newunit\newblock \printfield{note}% \setunit{\addcolon\addspace}\newblock \printfield{pages}% \newunit\newblock \usebibmacro{mla:isbn/issn+doi+eprint}% \newunit\newblock \ifbool{bbx@publimedium}{}{\usebibmacro{url+urldate}}% \newunit\newblock \printfield{addendum}% \newunit\newblock \usebibmacro{pageref}% \newunit% \usebibmacro{publimedium}% \usebibmacro{finentry}} \DeclareBibliographyDriver{article}{% \usebibmacro{bibindex}% \usebibmacro{author/editor+others/translator+others}% \usebibmacro{mlabelnamepunct}% \usebibmacro{title}% \newunit% \usebibmacro{bytranslator+others}% \newunit% \usebibmacro{mla:article:journal+issuetitle}% \newunit\newblock \printfield{note}% \setunit{\addcolon\addspace}\newblock \printfield{pages}% \newunit\newblock \usebibmacro{mla:isbn/issn+doi+eprint}% \newunit\newblock \ifbool{bbx@publimedium}{}{\usebibmacro{url+urldate}}% \newunit\newblock \printfield{addendum}% \newunit\newblock \usebibmacro{pageref}% \newunit% \usebibmacro{publimedium}% \usebibmacro{finentry}} \DeclareBibliographyDriver{book}{% \usebibmacro{bibindex}% \usebibmacro{author/editor+others/translator+others}% \usebibmacro{mlabelnamepunct}% \usebibmacro{maintitle+title}% \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% \ifbool{bbx@publimedium}% {}% {\usebibmacro{series+number}}% \newunit\newblock% \printfield{note}% \newunit\newblock% \usebibmacro{publisher+location+date}% \newunit\newblock% \printfield{pages}% \newunit\newblock% \usebibmacro{mla:isbn/issn+doi+eprint}% \newunit\newblock% \iffieldundef{origtitle}% {}% {\ifbool{bbx@publimedium}% {} {\usebibmacro{mla:reprint}}}% \newunit\newblock% \iffieldundef{volumes}% {}% {\usebibmacro{mla:multivolumes}}% \newunit\newblock% \printfield[mla:sentence-case]{addendum}% \newunit\newblock% \usebibmacro{pageref}% \newunit% \usebibmacro{publimedium}% \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}% \setunit*{\addcomma\addspace}% \ifbool{bbx@mla-incollection}% {\printfield[bibliography:origyear]{origyear}\clearfield{origyear}}% {\ifthenelse{\iffieldundef{volume}\OR\iffieldundef{volumes}}% 1.4.9 cleared up most spurious punct {\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}% \setunit{\addcomma\addspace}% \bibstring{generaleditor}% \newunit}% {}% } \newbibmacro*{mla:isbn/issn+doi+eprint}{% 0.7.1 modeled after biblatex-apa, here just a proof of concept and work in progress, ignoring any of the URL hiding implemented by Philip Kime \ifthenelse{\boolean{bbx:gnoreminfo}\OR\boolean{bbx:lnoreminfo}}% {\global\boolfalse{bbx:lnoreminfo}}% {\printfield{isbn}\clearfield{isbn}% \newunit\newblock% \printfield{issn}\clearfield{issn}% \newunit\newblock% \printfield{isrn}\clearfield{isrn}% \newunit\newblock% \printfield{doi}\clearfield{doi}% \newunit\newblock% \usebibmacro{eprint}% }} \DeclareBibliographyDriver{suppbook}{% \usebibmacro{bibindex}% \usebibmacro{author/editor}% \usebibmacro{mlabelnamepunct}% \usebibmacro{maintitle+title}% \newunit\newblock \printfield[mla:capital]{entrysubtype}% \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{publimedium}% \usebibmacro{finentry}} \DeclareCiteCommand{\bbx@crossref}% {} {\ifsingletitle% {\printtext[bibhyperref]{\printnames{labelname}}% \setunit{\space}}% {\printnames{labelname}% \setunit{\addcomma\addspace}% \printtext[bibhyperref]{\printfield[citetitle:book]{labeltitle}} \setunit{\space}}}% {}% {} \DeclareBibliographyDriver{incollection}{% \usebibmacro{bibindex}% \usebibmacro{author/editor+others/translator+others}% \usebibmacro{mlabelnamepunct}% \ifthenelse{% \iffieldequalstr{entrysubtype}{book}% \OR% \iffieldequalstr{entrysubtype}{play}% \OR% \iffieldequalstr{entrytype}{bookinbook}}% {\usebibmacro{title:incollection:italics}}% {\setboolean{bbx@mla-incollection}{true}% \usebibmacro{title}% \setboolean{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{publimedium}% \usebibmacro{finentry}} \newbibmacro*{mla:incollection:internal}{% \setboolean{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 \ifbool{bbx@publimedium}% {}% {\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 \ifbool{bbx@publimedium}{}{\usebibmacro{url+urldate}}% \newunit\newblock \iffieldundef{volumes}% {}% {\usebibmacro{mla:multivolumes}}% \newunit\newblock \printfield{addendum}% \newunit\newblock \usebibmacro{pageref}% \setboolean{bbx@mla-incollection}{false}} \DeclareBibliographyDriver{inproceedings}{% \usebibmacro{bibindex}% \usebibmacro{author/editor+others/translator+others}% \usebibmacro{mlabelnamepunct}% \usebibmacro{title}% \newunit\newblock \usebibmacro{mla:proceedings:booktitle}% \newunit\newblock \usebibmacro{byeditor+others}% \newunit\newblock \ifbool{bbx@publimedium}% {}% {\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{publimedium}% \usebibmacro{finentry}} \DeclareBibliographyDriver{proceedings}{% \usebibmacro{bibindex}% \usebibmacro{author/editor+others/translator+others}% \usebibmacro{mlabelnamepunct}% \usebibmacro{mla:proceedings:booktitle}% \newunit\newblock \usebibmacro{byeditor+others}% \newunit\newblock \ifbool{bbx@publimedium}% {}% {\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{publimedium}% \usebibmacro{finentry}} \DeclareBibliographyDriver{unpublished}{% \usebibmacro{bibindex}% \usebibmacro{author/editor+others/translator+others}% \usebibmacro{mlabelnamepunct}% \usebibmacro{title}% \newunit\newblock \printfield{note}% \newunit\newblock \usebibmacro{mla:all:type}% \newunit\newblock \printfield{number}% \newunit\newblock \printfield{library}% \setunit{\addcomma\addspace}% \printlist{location}% \newunit\newblock \printfield{addendum}% \newunit% \usebibmacro{publimedium}% \usebibmacro{finentry}} \DeclareBibliographyDriver{thesis}{% \usebibmacro{bibindex}% \usebibmacro{author/editor+others/translator+others}% \usebibmacro{mlabelnamepunct}% \usebibmacro{title}% \newunit\newblock% \usebibmacro{mla:thesis:type}% \newunit\newblock \printlist{institution}% \setunit*{\addcomma\space}% \iffieldequalstr{entrysubtype}{published}% {\printfield{origyear}\clearfield{origyear}}% 1.4.9 cleared origyear {\printfield{year}}% \newunit\newblock \iffieldequalstr{entrysubtype}{published}% {\ifbool{bbx@publimedium}% {}% {\usebibmacro{series+number}}% \newunit% \printlist{location}% \setunit{\addcolon\addspace}% \printlist{publisher}% \setunit{\addcomma\addspace}% \printfield{year}}% {}% \newunit\newblock \printfield{addendum}% \newunit\newblock \newunit% \usebibmacro{publimedium}% \usebibmacro{finentry}} \DeclareBibliographyDriver{review}{% \usebibmacro{bibindex}% \usebibmacro{author}% \usebibmacro{mlabelnamepunct}% \printfield[title:article]{title}% \newunit\newblock% \printfield[title:reviewedbook]{booktitle}% \setunit{\addcomma\space}% \ifnameundef{bookauthor}% {\printtext[reviewededitor]{\printnames[default]{editor}}}% {\printtext[reviewedauthor]{\printnames[default]{bookauthor}}}% \newunit\newblock \usebibmacro{journal}% \setunit*{\addspace}% \ifthenelse{\iffieldequalstr{entrysubtype}{newspaper} \or \iffieldequalstr{entrysubtype}{magazine}}% {\printfield[brackets]{location}% \printtext{\printdate}% \newunit}% {\printfield{series}\clearfield{series}% \setunit{\addspace}% \printfield[default]{volume}% \setunit*{\adddot}% \printfield{number}\clearfield{number}% \setunit{\addcomma\space}% \printfield{eid}% \setunit{\addspace}% \usebibmacro{issue+date}% \newunit\newblock% \usebibmacro{issue}% \newunit}% \setunit{\addcolon\addspace}% \printfield{pages}% \newunit\newblock% \usebibmacro{publimedium}% 1.4.9 updated \usebibmacro{finentry}} \DeclareBibliographyDriver{inreference}{% \usebibmacro{bibindex}% \usebibmacro{author}% \usebibmacro{mlabelnamepunct}% \usebibmacro{title}% \newunit\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 \ifbool{bbx@publimedium}% {}% {\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 \ifbool{bbx@publimedium}{}{\usebibmacro{url+urldate}}% \newunit\newblock \printfield{addendum}% \newunit\newblock \usebibmacro{pageref}}% {}}% {\bbx@crossref{\thefield{crossref}}% \nopunct\unspace\printfield{pages}}% \newunit% \usebibmacro{publimedium}% \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}}}}% \iffootnote{\setunit{\addcomma\addspace}}{\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}% \setunit{\addcomma\addspace}% \printfield{year}% \newunit\newblock% \usebibmacro{publimedium}% 1.4.9 updated to most recent MLA format \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}% \iflistundef{publisher}% {\setunit*{\addcomma\space}}% {\setunit*{\addcolon\space}}% \printlist{publisher}% \setunit*{\addcomma\space}% \ifbool{bbx@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}}% \setunit{\addcomma\addspace}} \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\newblock} \renewbibmacro*{maintitle+booktitle}{% \usebibmacro{booktitle}% \newunit \iffieldundef{maintitle}% {}% {\usebibmacro{maintitle}% \newunit\newblock \iffieldundef{volume}% {}% {\printfield{volume}% \printfield{part}% \setunit{\addcolon\space}}}% \newunit} \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}% \setunit*{\addcomma\addspace}% \printeventdate% \setunit*{\addcomma\addspace}% \printlist{institution}% \setunit*{\addcomma\addspace}% \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}}}% \newunit% \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% \setboolean{bbx@mla-incollection}{true}\usebibmacro{mla:reprint}\setboolean{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}% \printtext{\printdate}% \setunit*{\addcomma\addspace}% \printfield{version}% \setunit*{\addcomma\addspace}% \printfield[mla:newspaper:section]{chapter}% }% {\printfield{series}\clearfield{series}% \setunit*{\addspace}% \printfield{volume}% \setunit*{\adddot}% \printfield{number}\clearfield{number}% \setunit*{\addcomma\space}% \usebibmacro{mla:isbn/issn+doi+eprint}% \setunit{\addspace}% \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}% \setunit*{\addcomma\addspace}% } \renewbibmacro*{journal+issuetitle}{% \usebibmacro{journal}% \setunit*{\addspace}% \ifthenelse{\iffieldequalstr{entrysubtype}{newspaper} \or \iffieldequalstr{entrysubtype}{magazine}}% {\printlist[brackets]{location}% \printtext{\printdate}% \setunit{\addcomma\addspace}% \printfield{version}% \setunit{\addcomma\addspace}% \printfield[mla:newspaper:section]{chapter}% }% {\printfield{series}\clearfield{series}% \setunit{\addspace}% \printfield{volume}% \setunit*{\adddot}% \printfield{number}\clearfield{number}% \setunit{\addcomma\space}% \usebibmacro{mla:isbn/issn+doi+eprint}% \setunit{\addspace}% \usebibmacro{issue+date}% \newunit\newblock \usebibmacro{issue}% \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}} \endinput \endinput