summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/biblatex-contrib/biblatex-mla/mla7.bbx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/biblatex-contrib/biblatex-mla/mla7.bbx')
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-mla/mla7.bbx1224
1 files changed, 1224 insertions, 0 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-mla/mla7.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-mla/mla7.bbx
new file mode 100644
index 0000000000..e43dc555cd
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-mla/mla7.bbx
@@ -0,0 +1,1224 @@
+% 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}[2021/05/12 v2.0 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 <http://www.engatiki.org/2007/11/28/171>
+\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