From 9fa5900b00d781aa12ad98b7c5203796ae2b1dc8 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 9 Jun 2021 20:29:05 +0000 Subject: biblatex-mla (9jun21) git-svn-id: svn://tug.org/texlive/trunk@59529 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx | 1322 ++-------------------- 1 file changed, 96 insertions(+), 1226 deletions(-) (limited to 'Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx') diff --git a/Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx b/Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx index cae6845d713..2ee9431d576 100644 --- a/Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx @@ -1,1229 +1,99 @@ -% mla-this.bbx, v1.9 2016/11/01 * compatible with biblatex 3.4 -% Maintained at by James Clawson. -% -% Feel free to improve, redistribute, and adapt to your own ends. Please share improvements in formatting and MLA standards compliance back to James Clawson: . -% -% This material is subject to the LaTeX Project Public License. See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html for the details of that license. - -\ProvidesFile{mla-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 -\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 -- cgit v1.2.3