summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/biblatex-contrib/biblatex-mla/mla.bbx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/biblatex-contrib/biblatex-mla/mla.bbx')
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-mla/mla.bbx1322
1 files changed, 96 insertions, 1226 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-mla/mla.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-mla/mla.bbx
index cae6845d71..2ee9431d57 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-mla/mla.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-mla/mla.bbx
@@ -1,1229 +1,99 @@
-% mla-this.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-this.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{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}{\adddot}{\nopunct}}%
-
-\newcommand*{\mlanamedash}{\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}%
+% These sourcemap declarations allow for .bib file oddities. Additionally, to comport with MLA expectations, they modify strings in publisher fields, drop unneeded parts of URLs, and look for patterns in a URL field to fill in missing eprint fields. If the choices here seem to do too much, use "style=mla-strict", which makes fewer accommodations and more exactly prints entries as they're defined in a given bibtex file.
+\ProvidesFile{mla.bbx}[2021/06/07 v2.0 biblatex bibliography style]
+
+\RequireBibliographyStyle{mla-strict}
+
+\DeclareStyleSourcemap{
+ \maps[datatype=bibtex]{
+ \map[overwrite=true]{% Convert non-integer year field to addendum field
+ \step[fieldsource=year, match=\regexp{[a-zA-Z]}, final]
+ \step[fieldsource=year, match=\regexp{(.+)}, final]
+ \step[fieldset=addendum, fieldvalue=\regexp{$1}]
+ \step[fieldset=year, null]
+ }
+ \map{% Convert unpublished booktitle to title, with entrysubtype "book"
+ \pertype{unpublished}
+ \step[notfield=title, final]
+ \step[fieldsource=booktitle, match=\regexp{(.+)}, final]
+ \step[fieldset=title, fieldvalue=\regexp{$1}, final]
+ \step[fieldset=booktitle, null]
+ \step[fieldset=entrysubtype, fieldvalue={book}]
+ }
+ \map{% Fill in missing publisher for US patents
+ \pertype{patent}
+ \step[notfield=publisher, final]
+ \step[fieldsource=type, match=\regexp{patentus}, final]
+ \step[fieldset=publisher, fieldvalue={United States Patent and Trademark Office}]
+ }
+ \map[overwrite=true]{% force consistent abbreviations for editions
+ \step[fieldsource=edition, match={edition}, replace={ed.}]
+ }
+ \map[overwrite=true]{% drop unnecessary elements of company names ("and" suggests list)
+ \step[fieldsource=publisher, match={and Company}, replace={}]
+ \step[fieldsource=publisher, match={and Co.}, replace={}]
+ }
+ \map{% abbreviate and drop unneeded parts of publisher names
+ \step[fieldsource=publisher, match={University Press}, replace={UP}]
+ \step[fieldsource=publisher, match={University}, replace={U}]
+ \step[fieldsource=publisher, match=\regexp{Press\b}, replace={P}]
+ \step[fieldsource=publisher, match=\regexp{Corporation|Corp.|Incorporated|Inc.|Limited|Ltd.}, replace={}]
+ \step[fieldsource=url, match=\regexp{http(s)?://}, replace={}]
+ }
+ \map{% JSTOR url to eprint
+ \step[fieldsource=url, match={jstor.org}, final]
+ \step[fieldset=eprint, fieldvalue={JSTOR}]
+ % \step[fieldset=urldate, null]
+ }
+ \map{% Project Muse url to eprint
+ \step[fieldsource=url, match={muse.jhu.edu}, final]
+ \step[fieldset=eprint, fieldvalue={Project Muse}]
+ % \step[fieldset=urldate, null]
+ }
+ \map{% Adelaide eBooks url to eprint
+ \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 url to eprint
+ \step[fieldsource=url, match={books.google}, final]
+ \step[fieldset=eprint, fieldvalue={Google Books}]
+ % \step[fieldset=urldate, null]
+ }
+ \map{% EBSCO - Academic Search Complete url to eprint
+ \step[fieldsource=url, match={db=a9h}, final]
+ \step[fieldset=eprint, fieldvalue={Academic Search Complete}]
+ % \step[fieldset=urldate, null]
+ }
+ \map{% EBSCO - LexisNexis Academic url to eprint
+ \step[fieldsource=url, match={db=fdcaae48}, final]
+ \step[fieldset=eprint, fieldvalue={LexisNexis Academic}]
+ % \step[fieldset=urldate, null]
+ }
+ \map{% EBSCO - MLA Database url to eprint
+ \step[fieldsource=url, match={db=mzh}, final]
+ \step[fieldset=eprint, fieldvalue={MLA International Bibliography}]
+ % \step[fieldset=urldate, null]
+ }
+ \map{% USPTO url to eprint
+ \step[fieldsource=url, match={patft.uspto.gov}, final]
+ \step[fieldset=eprint, fieldvalue={USPTO Patent Full-Text and Image Database}]
+ }
+ \map{% DOI url to doi
+ \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{ % remove isbns from Works Cited
+ \step[fieldsource=isbn, final]
+ \step[fieldset=isbn, null]
+ }
+ \map{ % remove url + urldate field from all entries that have a doi field
+ \step[fieldsource=doi, final]
+ \step[fieldset=url, null]
+ \step[fieldset=urldate, null]
+ }
+ }
}
-\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