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